第一步:
安裝 lib-flexible,並在main.js中引入
npm i lib-flexible --save
import 'lib-flexible/flexible'
第二步:
刪除 index.html 的 meta 標籤
刪除
<meta name="viewport" content="width=device-width, initial-scale=1.0">
否則會出現固定值的情況。
第三步:
安裝 px2rem-loader
npm install px2rem-loader
第四步:
在build文件中找到util.js,將px2rem-loader添加到cssLoaders中,如:
exports.cssLoaders = function (options) {
options = options || {}const cssLoader = {
loader: 'css-loader',
options: {
sourceMap: options.sourceMap
}
}const postcssLoader = {
loader: 'postcss-loader',
options: {
sourceMap: options.sourceMap
}
}const px2remLoader = {
loader: 'px2rem-loader',
options: {
remUnit: 75
}
}...
}
同時,在generateLoaders方法中添加px2remLoader
function generateLoaders (loader, loaderOptions) {
const loaders = options.usePostCSS ? [cssLoader, postcssLoader, px2remLoader] : [cssLoader, px2remLoader]if (loader) {
loaders.push({
loader: loader + '-loader',
options: Object.assign({}, loaderOptions, {
sourceMap: options.sourceMap
})
})
}// Extract CSS when that option is specified
// (which is the case during production build)
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
fallback: 'vue-style-loader'
})
} else {
return ['vue-style-loader'].concat(loaders)
}
}
第五步:
重啓服務~
npm run dev
*如果有需要忽略、不用轉換的地方,用大寫的PX作爲單位即可。
參考文章:
1. https://blog.csdn.net/u013040887/article/details/79524549
2. https://www.jianshu.com/p/a0fe0604209a