當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"] })]
};
}