Vue 自适应的两种方式 :
1.lib-flexible+px2rem 修改 until.js 文件 (不能对vant框架进行处理)
var px2remLoader = {
loader: 'px2rem-loader',
options: {
remUnit: 75
}
}
const loaders = options.usePostCSS ? [cssLoader, postcssLoader,px2remLoader] : [cssLoader,px2remLoader]
2 .lib-flexible+postcss-px2rem 修改 .postcssrc.js 文件 (可以对vant框架进行处理)
1 对vant 进行过滤,输出还是 px(页面不会自适应,但是组件可以变大了)
module.exports = {
plugins: {
'autoprefixer': {
browsers: ['Android >= 4.0', 'iOS >= 7']
},
'postcss-pxtorem': {
rootValue: 75,
propList: ['*'],
selectorBlackList: ['van']
}
}
}
2 根据文件 修改 根字体
const AutoPrefixer = require("autoprefixer");
const px2rem = require("postcss-px2rem");
module.exports = ({ file }) => {
let remUnit;
// 判断条件 请自行调整 我使用的是 mand-mobile ui 没有对vant引入进行测试
//link https://github.com/youzan/vant/issues/1181
if (file && file.dirname && file.dirname.indexOf("vant") > -1) {
remUnit = 37.5;
} else {
remUnit = 75;
}
return {
plugins: [
px2rem({ remUnit: remUnit}),
AutoPrefixer({ browsers: ["last 20 versions", "android >= 4.0"] })]
};
};