Vue-cli 如何将px转化为rem适配移动端
作者:嘘嘘乖乖
这篇文章主要介绍了Vue-cli 如何将px转化为rem适配移动端,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
vue-cli2版本配置
1.下载lib-flexible
我使用的是vue-cli+webpack,所以是通过npm来安装的
npm i lib-flexible --save
2.引入lib-flexible
在main.js中引入lib-flexible
import 'lib-flexible/flexible'
3.设置meta标签
通过meta标签,设置设备宽度以及缩放比例
<meta name="viewport" content="width=device-width, initial-scale=1.0">
4.安装px2rem-loader
npm install px2rem-loader --save-dev
5.配置px2rem-loader
这里是重要
的一步~~
在build文件中找到util.js
,将px2rem-loader
添加到cssLoaders
中,如:
const cssLoader = { loader: 'css-loader', options: { minimize: process.env.NODE_ENV === 'production', sourceMap: options.sourceMap } } const px2remLoader = { loader: 'px2rem-loader', options: { remUnit: 75 } }
同时,在generateLoaders
方法中添加px2remLoader
function generateLoaders (loader, loaderOptions) { const loaders = [cssLoader,px2remLoader] if (loader) { loaders.push({ loader: loader + '-loader', options: Object.assign({}, loaderOptions, { sourceMap: options.sourceMap }) }) }
6.重启,一切ok~
当配置完之后,只需要重启下服务,就自动转化为rem了
npm run dev
二. Vue-cli3 中的用法
关于移动端的适配,我喜欢用px2rem配合lib-flexible,非常方便,vue-cli3.0后,项目配置被大大精简了,这使得原来配置px2rem的文件不复存在,但其实只要掌握了正确的姿势,配置方法比原来更简单~
1、lib-flexible
作用:让网页根据设备dpr和宽度,利用viewport和html根元素的font-size配合rem来适配不同尺寸的移动端设备
npm i lib-flexible --save
引入:
入口文件main.js
中:
import 'lib-flexible/flexible.js'
2、pxtorem
作用:将项目中css的px转成rem单位,免去计算烦恼
npm i postcss-px2rem --save
配置:vue.config.js
(如果没有,手动创建一个)内,在postcss
内添加:
module.exports = { css: { loaderOptions: { css: { // options here will be passed to css-loader }, postcss: { // options here will be passed to postcss-loader plugins: [require('postcss-px2rem')({ remUnit: 37.5 })] } } } }
TIPS
1、pxtorem中,对于想忽略的px写成大写即可,诸如 border:1PX
solid #fff;
2、也可以选择postcss-px2rem,我更喜欢pxtorem的忽略方式,方便我vscode的beautify自动格式化代码
到此这篇关于Vue-cli 将px转化为rem适配移动端的文章就介绍到这了,更多相关Vue-cli 将px转化为rem内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!