編碼的世界 / 優質文選 / 生涯

postcss-px2rem vantjs 樣式大小顯示問題


2022年7月17日
-   

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

 

熱門文章