黑马头条vue2.0项目实战(一)——项目初始化
1. 图标素材(iconfont简介)
制作字体图标的工具有很多,推荐使用:iconfont-阿里巴巴矢量图标库。
- 注册账户
-
创建项目


可以根据项目自定义 class 前缀

- 上传图标到项目




- 生成链接,复制 css 代码,在项目中使用。

2. Vant 组件库
Vant 是有赞商城前端开发团队开发的一个基于 Vue.js 的移动端组件库,它提供了非常丰富的移动端功能组件,简单易用。
-
官方文档
-
GitHub 仓库
下面是在 Vant 官网中列出的一些优点:
-
60+ 高质量组件
-
90% 单元测试覆盖率
-
完善的中英文文档和示例
-
支持按需引入
-
支持主题定制
-
支持国际化
-
支持 TS
-
支持 SSR
项目中主要使用 Vant 作为核心组件库,下面根据官方文档将 Vant 导入项目中。
将 Vant 引入项目一共有四种方式:
-
方式一:自动按需引入组件
-
和方式二一样,都是按需引入,但是加载更方便一些(需要额外配置插件)
-
优点:打包体积小
-
缺点:每个组件在使用之前都需要手动加载注册
-
-
方式二:手动按需引入组件
-
在不使用插件的情况下,可以手动引入需要的组件
-
优点:打包体积小
-
缺点:每个组件在使用之前都需要手动加载注册
-
-
方式三:导入所有组件
-
Vant 支持一次性导入所有组件,引入所有组件会增加代码包体积,因此不推荐这种做法
-
优点:导入一次,使用所有
-
缺点:打包体积大
-
-
方式四:通过 CDN 引入
-
使用 Vant 最简单的方法是直接在 html 文件中引入 CDN 链接,之后你可以通过全局变量vant访问到所有组件。
-
优点:适合一些演示、示例项目,一个 html 文件就可以跑起来
-
缺点:不适合在模块化系统中使用
-
3. 移动端 REM 适配
Vant 中的样式默认使用 px 作为单位,如果需要使用 rem 单位,推荐使用以下两个工具:
-
postcss-pxtorem 是一款 postcss 插件,用于将单位转化为 rem
-
lib-flexible 用于设置 rem 基准值
下面我们分别将这两个工具配置到项目中完成 REM 适配。
3.1 使用 lib-flexible 动态设置 REM 基准值(html 标签的字体大小)
- 安装
yarn add amfe-flexible
或者npm i amfe-flexible
- 然后在
main.js中加载执行该模块

3.2 使用 postcss-pxtorem 将 px 转为 rem
- 安装
# yarn add -D postcss-pxtorem
# -D 是 --save-dev 的简写
npm install postcss-pxtorem -D
- 然后在项目根目录中创建
postcssrc.config.js文件
参考vant官方文档,如下。

- 配置完毕,重新启动服务,刷新浏览器页面,审查元素的样式查看是否已将
px转换为rem。
需要注意的是:
-
该插件不能转换行内样式中的
px,例如<div style="width: 200px;"></div>
3.3 关于 postcssrc.config.js 配置文件
PostCSS.config.js 是 PostCSS 的配置文件。
(1)PostCSS 介绍
PostCSS 是一个处理 CSS 的处理工具,本身功能比较单一,它主要负责解析 CSS 代码,再交由插件来进行处理,它的插件体系非常强大,所能进行的操作是多种多样的,例如:
-
Autoprefixer 插件可以实现自动添加浏览器相关的声明前缀
-
PostCSS Preset Env 插件可以让你使用更新的 CSS 语法特性并实现向下兼容
-
postcss-pxtorem 可以实现将 px 转换为 rem
-
...
目前 PostCSS 已经有 200 多个功能各异的插件。开发人员也可以根据项目的需要,开发出自己的 PostCSS 插件。
PostCSS 一般不单独使用,而是与已有的构建工具进行集成。
Vue CLI 默认集成了 PostCSS,并且默认开启了 autoprefixer 插件。
Vue CLI 内部使用了 PostCSS。
你可以通过 psotCSS.config.js 或任何 postcss-load-config 支持的配置源来配置 PostCSS。也可以通过 vue.config.js 中的 css.loaderOptions.postcss 配置 postcss-loader。
我们默认开启了 autoprefixer。如果要配置目标浏览器,可使用 package.json 的 browserslist 字段。
(2)Autoprefixer 插件的配置

autoprefixer 是一个自动添加浏览器前缀的 PostCss 插件,browsers 用来配置兼容的浏览器版本信息,但是写在这里的话会引起编译器警告。
(3)postcss-pxtorem 插件的配置

-
rootValue:表示根元素字体大小,它会根据根元素大小进行单位转换 -
propList用来设定可以从 px 转为 rem 的属性-
例如
*就是所有属性都要转换,width就是仅转换width属性
-
rootValue 应该如何设置呢?
如果你使用的是基于 lib-flexable 的 REM 适配方案,则应该设置为你的设计稿的十分之一。
例如设计稿是 750 宽,则应该设置为 75。
大多数设计稿的原型都是以 iphone6 为原型,iphone6 设备的宽是 750,我们的设计稿也是这样。
但是 Vant 建议设置为 37.5,为什么呢?
因为 Vant 是基于 375 写的,所以如果你设置为 75 的话,Vant 的样式就小了一半。所以如果设置为 37.5 的话,Vant 的样式是没有问题的,但是我们在测量设计稿的时候都必须除 2 才能使用,否则就会变得很大。
通过查阅文档我们可以看到 rootValue 支持两种参数类型:
-
数字:固定值
-
函数:动态计算返回
-
postcss-pxtorem 处理每个 CSS 文件的时候都会来调用这个函数
-
它会把被处理的 CSS 文件相关的信息通过参数传递给该函数
-
所以修改配置如下:

假设设计稿宽是750px的情况下,在写 css 样式的时候就可以量多少写多少,而不用再去除以2。
相关文章:
黑马头条vue2.0项目实战(一)——项目初始化
1. 图标素材(iconfont简介) 制作字体图标的工具有很多,推荐使用:iconfont-阿里巴巴矢量图标库。 注册账户 创建项目 可以根据项目自定义 class 前缀 上传图标到项目 生成链接,复制 css 代码,在项目中使用…...
Unity Shader动画:用代码绘制动态视觉效果
在Unity中,Shader是运行在GPU上的小程序,用于控制顶点和像素的渲染过程。通过编写自定义Shader,开发者可以创造出各种令人惊叹的动画效果,从简单的颜色变化到复杂的流体模拟。本文将探讨如何使用Unity Shader来实现动画效果。 Sh…...
智税集成2.0生成凭证
:::info 💡 整体业务流程 从A9服务器中取数,生成列表数据,写入到对方oracle数据库中。 ::: 项目关键点 1.连接数据库 左连接连接本地SQLserver数据库、右连接要链接A9开票服务器的数据库然后设想用SQLserver 自带的外部连接来连接oracle数据…...
B4005 [GESP202406 四级] 黑白方块 【暴力枚举】【前缀和】
#include<bits/stdc.h> using namespace std; int n,m,ans,tmp; char mp[20][20]; int cheak(int a,int b,int c,int d){//a<c b<dint cnt0;//枚举矩阵中的每个点 for(int ia;i<c;i)for(int jb;j<d;j)if(mp[i][j]1) cnt;//统计黑格的个数 return 2*cnt(c-a1…...
深度学习趋同性的量化探索:以多模态学习与联合嵌入为例
深度学习趋同性的量化探索:以多模态学习与联合嵌入为例 参考文献 据说是2024年最好的人工智能论文,是否有划时代的意义? [2405.07987] The Platonic Representation Hypothesis (arxiv.org) arxiv.org/abs/2405.07987 趋同性的量化表达 …...
决策树与随机森林:比较与应用场景分析
决策树与随机森林:比较与应用场景分析 引言 决策树和随机森林是机器学习中广泛使用的两种算法,因其简单性和强大的功能而被广泛采用。决策树是一种树形结构的决策模型,易于理解和解释。随机森林则是通过集成多棵决策树来提高预测性能的模型…...
C#用Aspose.Cells导出Excel,.NET导出Excel
ASP.NET MVC 控制器里面Action处理,下载文件,输出文件流 public async Task<ActionResult> ExportNewsAuthorFee(string deptId, DateTime? startDate, DateTime? endDate){if (startDate null){startDate DateTime.Parse(DateTime.Now.Year …...
天猫番茄品类TOP1,复购率超40%,「一颗大」如何策划极致产品力?
桔子要买什么品牌?桃子买什么品牌?土豆买什么品牌?过去人们购买农产品几乎没有品牌意识。但近年来可能某些人买猕猴桃时会考虑佳沛,这是一个在全球达到30%猕猴桃市场的新西兰品牌。与此类似,一个国产品牌「一颗大™」正…...
Docker搭建私有仓库harbor(docker 镜像仓库搭建)
Harbor介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目…...
面试题:MySQL 索引
1. 谈一下你对于MySQL索引的理解?(为什么MySQL要选择B+树来存储索引) MySQL的索引选择B+树作为数据结构来进行存储,使用B+树的本质原因在于可以减少IO次数,提高查询的效率,简单来说就是可以保证在树的高度不变的情况下存储更多的数据: IO效率的提高:在MySQL数据库中,…...
云计算day13
一、Git 概述 Git 是一种分布式版本控制系统,用于跟踪和管理代码的变更。它是由 Linus Torvalds 创建的,最初被设计用于 Linux 内核的开发。Git 允许开发 人员跟踪和管理代码的版本,并且可以在不同的开发人员之间进行协作。 Github 用的就…...
2024年孝感中级职称报名开始了吗?
2024年孝感中级职称申报终于开始了,之前参加过水测的小伙伴们,开始准备评审了 2024年孝感本批次申报时间:中级、初级职称网上申报时间:2024年8月1日至8月31日。 注意:个人通过“湖北省职称评审管理信息系统”申报,须先…...
RAG技术之Router
Router有什么用? 在RAG应用中,Router可以帮助我们基于用户的查询意图来决定使用何种数据类型或数据源,比如是否需要进行语义检索、是否需要进行text2sql查询,是否需要用function call来进行API调用。 Router也可以根据用户的查询…...
linux系统通过修改sudo文件使普通用户拥有类似root用户权限
说明:普通用户要想拥有root权限,如果不在sudo文件里配置就算把该用户加到wheel组(root用户所在的组)也不行。 要想通过在命令前加上sudo使得该用户以root权限执行命令,需要修改/etc/sudoers文件。 (如果通…...
基于PyCharm在Windows系统上远程连接Linux服务器中Docker容器进行Python项目开发与部署
文章目录 摘要项目结构项目开发项目上线参考文章 摘要 本文介绍了如何在Windows 10系统上使用PyCharm专业版2024.1,通过Docker容器在阿里云CentOS 7.9服务器上进行Python项目的开发和生产部署。文章详细阐述了项目结构的搭建、PyCharm的使用技巧、以及如何将开发项…...
TypeScript学习篇-类型介绍使用、ts相关面试题
文章目录 基础知识基础类型: number, string, boolean, object, array, undefined, void(代表该函数没有返回值)enum(枚举): 定义一个可枚举的对象typeinterface联合类型: |交叉类型: &any 类型null 和 undefinednullundefined never类型 面试题及实战1. 你觉得使用ts的好处…...
超详细!Jmeter性能测试
前言 性能测试是一个全栈工程师/架构师必会的技能之一,只有学会性能测试,才能根据得到的测试报告进行分析,找到系统性能的瓶颈所在,而这也是优化架构设计中重要的依据。 测试流程: 需求分析→环境搭建→测试计划→脚…...
C语言经典习题24
文件操作习题 一 编程删除从C盘home文件夹下data.txt文本文件中所读取字符串中指定的字符,该指定字符由键盘输入,并将修改后的字符串以追加方式写入到文本文件C:\home\data.txt中。 #include<stdio.h> main() { char s[100],ch; int i;…...
SQL labs-SQL注入(三,sqlmap使用)
本文仅作为学习参考使用,本文作者对任何使用本文进行渗透攻击破坏不负任何责任。 引言: 盲注简述:是在没有回显得情况下采用的注入方式,分为布尔盲注和时间盲注。 布尔盲注:布尔仅有两种形式,ture&#…...
统一认证与单点登录:简明概述与应用
1. 统一认证概述 统一认证是一种身份验证机制,允许用户使用一个账户来访问多个系统和应用程序。它的主要目标是简化用户的登录过程,提高安全性,并减少管理开销。统一认证通过集中管理用户信息,使得用户只需一次认证即可访问不同的…...
LBM强迫场设置实战:如何模拟一个东亚冬季风冷源并可视化其三维结构
LBM强迫场设置实战:如何模拟一个东亚冬季风冷源并可视化其三维结构当我们需要研究特定气候现象对大气环流的影响时,线性斜压模式(LBM)提供了一个理想的数值实验平台。本文将聚焦于如何通过精确配置LBM的强迫场参数,模拟…...
【企业级长文本AI落地红线】:金融/法律/医疗场景中超过64K tokens必踩的4类合规与事实性崩塌风险
更多请点击: https://intelliparadigm.com 第一章:【企业级长文本AI落地红线】:金融/法律/医疗场景中超过64K tokens必踩的4类合规与事实性崩塌风险 在金融、法律与医疗等强监管垂直领域,当AI系统处理超长文档(如IPO招…...
专业级AI音频处理实战指南:OpenVINO插件让Audacity变身智能音频工作站 [特殊字符]
专业级AI音频处理实战指南:OpenVINO插件让Audacity变身智能音频工作站 🎵 【免费下载链接】openvino-plugins-ai-audacity A set of AI-enabled effects, generators, and analyzers for Audacity. 项目地址: https://gitcode.com/gh_mirrors/op/openv…...
前端可访问性:表单验证的无障碍实现指南
前端可访问性:表单验证的无障碍实现指南 前言 各位前端小伙伴,今天咱们来聊聊表单验证的无障碍问题。想象一下: 用户填写表单时出错了视力正常的用户看到红色错误提示但屏幕阅读器用户可能完全不知道发生了什么键盘用户也可能错过错误信息 这…...
Kubernetes多集群管理策略:统一管理多个K8s集群
Kubernetes多集群管理策略:统一管理多个K8s集群 一、多集群管理概述 Kubernetes多集群管理是指在企业环境中管理多个独立的Kubernetes集群,实现统一的部署、监控和运维。 1.1 多集群场景 场景说明示例地域隔离不同区域部署独立集群北京、上海、广州各…...
NS模拟器自动化管理系统:简化游戏兼容性配置的解决方案
NS模拟器自动化管理系统:简化游戏兼容性配置的解决方案 【免费下载链接】ns-emu-tools 一个用于安装/更新 NS 模拟器的工具 项目地址: https://gitcode.com/gh_mirrors/ns/ns-emu-tools NsEmuTools是一款专为Nintendo Switch模拟器用户设计的桌面端管理解决方…...
因果推断与双机器学习在LED制造返工决策中的实战应用
1. 项目概述:当因果推断遇上LED制造返工决策在LED制造车间里,每天都有成千上万个生产批次流过产线。每一个批次在经过荧光粉转换工序后,操作员都需要做一个关键决定:这个批次是否需要“返工”——也就是额外喷涂一层荧光粉来校正颜…...
【限时解锁】Gemini深度研究模式私有化部署方案:仅3家头部科研机构掌握的本地化推理链配置
更多请点击: https://codechina.net 第一章:Gemini深度研究模式的核心原理与能力边界 Gemini深度研究模式并非简单增强上下文长度的推理机制,而是一种面向复杂知识密集型任务的分层式认知架构。其核心原理在于动态构建“问题-证据-推理”三元…...
多模态AI Agent架构:如何无缝融合文本、图像与行动?
多模态AI Agent架构:如何无缝融合文本、图像与行动? 摘要 随着GPT-4V、Gemini等多模态大模型的普及,AI已经从“能读会写”的文本时代进入“能看会认”的多模态时代,但当前绝大多数多模态应用仍停留在“感知-回答”的表层交互,缺乏将多模态感知结果转化为实际行动的能力。…...
为什么92.7%的企业漏检DeepSeek生成的隐性偏见内容?3类高危prompt绕过案例首次公开
更多请点击: https://intelliparadigm.com 第一章:DeepSeek输出内容审核的行业现状与挑战 当前,以DeepSeek-R1为代表的开源大语言模型在代码生成、数学推理和多轮对话等任务中展现出卓越性能,但其开放权重与高自由度输出特性&…...
