转载自原文链接老哥ID为:专注数据可视化
配置前沿
项目构建:基于vue-cli3构建,使用postcss-px2rem px2rem-loader进行rem适配
实现原理:每次打包,webpack通过使用插件postcss-px2rem,帮我们自动将px单位转换成rem单位
前方有坑:UI框架部分组件使用JavaScript将css作为内联样式直接写在html标签内,打包适配时不会读取相关css,所以要配置相关样式,在style中需要" !important "进行样式覆盖。
1.安装postcss-px2rem及px2rem-loader
npm install postcss-px2rem px2rem-loader --save
2.在根目录src中新建util目录下新建rem.js等比适配文件
const baseSize = 16
function setRem () {
const scale = document.documentElement.clientWidth / 1920
document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) + 'px'
}
setRem()
window.onresize = function () {
setRem()
}
3.在main.js中引入适配文件
import './util/rem'
4.到vue.config.js中配置插件
const px2rem = require('postcss-px2rem')
const postcss = px2rem({
remUnit: 16
})
module.exports = {
lintOnSave: true,
css: {
loaderOptions: {
postcss: {
plugins: [
postcss
]
}
}
}
}