【转】
亲测有效,大家可以试试。
使用的是vue-cli搭建的webpack项目,然后按步骤一步一步走下去就成功了
1.终端中输入
npm i lib-flexible --save
2.终端中输入
npm i px2rem-loader --save-dev
3.在项目入口文件 main.js 里 引入 lib-flexible
import 'lib-flexible'
4.在项目根目录的 index.html 中添加如下 meta
<meta name="viewport" content="width=device-width, initial-scale=1.0">
5.在build文件夹下的util.js中添加
// utils.js
var cssLoader = {
loader: 'css-loader',
options: {
minimize: process.env.NODE_ENV === 'production',
sourceMap: options.sourceMap
}
}
var px2remLoader = {
loader: 'px2rem-loader',
options: {
remUnit: 75
}
}
并放进generateLoaders函数的 loaders 数组中
function generateLoaders(loader, loaderOptions) {
var loaders = [cssLoader, px2remLoader]
}
6.重新在终端中输入 npm run dev 即可
PS:以上实现转换适用于:
(1)组件中编写的下的css
(2)从index.js或者main.js中import ‘…/…/static/css/reset.css’引入css
(3)在组件的中引入css
另外的情况不适用:
(1)组件中@import “…/…/static/css/reset.css (可考虑上面(2)、(3)的形式引入)
(2)外部样式:
(3)元素内部样式:style=”height: 417px; width: 550px;”
补充另外我要补充的是:在做移动端适配的时候我们不建议给字体也设置rem的单位,针对这种情况,我为字体适配的解决方案是使用媒体查询,文件以组件中@import “…/…/static/css/reset.css形式引入,可完美解决移动端适配问题
更多详情请戳 传送门