当postcss-px2rem 的 rootValue 设置为 75 或者 37.5 的时候,
会发现整个都显得特别小
解决办法,postcss.config.js 中如下配置
const AutoPrefixer = require("autoprefixer");
const px2rem = require("postcss-pxtorem");
module.exports = ({ file }) => {
let remUnit; // 判断条件 请自行调整 我使用的是 mand-mobile ui 没有对vant引入进行测试
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"] })]
};
}
github 相关问题传送门:https://github.com/youzan/vant/issues/1181
**************************补充*****************************
可能会看到红字 warn
Replace Autoprefixer browsers option to Browserslist config.
Use browserslist key in package.json or .browserslistrc file.
Using browsers option cause some error. Browserslist config
can be used for Babel, Autoprefixer, postcss-normalize and other tools.
If you really need to use option, rename it to overrideBrowserslist.
Learn more at:
https://github.com/browserslist/browserslist#readme
https://twitter.com/browserslist
这是因为 autoprefixer 版本问题导致的,把上面的 browsers 替换为 overrideBrowserslist 就可以了
const AutoPrefixer = require("autoprefixer");
const px2rem = require("postcss-pxtorem");
module.exports = ({ file }) => {
let remUnit; // 判断条件 请自行调整 我使用的是 mand-mobile ui 没有对vant引入进行测试
if (file && file.dirname && file.dirname.indexOf("vant") > -1) { remUnit = 37.5; } else { remUnit = 75; }
return {
plugins: [
px2rem({ remUnit: remUnit, }),
AutoPrefixer({ overrideBrowserslist: ["last 20 versions", "android >= 4.0"] })]
};
}