vue打包的时候自动将px转成rem

px2rem-loader 需要与 flexible 配合使用,不然px2rem仅仅只是转成rem却不会设置rem的信息

安装 flexible

npm i lib-flexible -S

然后在main.js中引入

import 'lib-flexible/flexible'

直接引入的文件需要有优先与引用的组件

安装px2rem-loader

npm i px2rem-loader -D

在build的utils.js中找到cssLoader添加一下代码

const px2remLoader = {
    loader: 'px2rem-loader',
    option: {
      remUnit: 75 // 设计图宽度÷10
    }
  }

找到generateLoaders修改一下代码

const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader, px2remLoader]

具体如下


image.png

然后重启项目

注意
因为网页识别的精度有限,如果是1px转成rem之后,会出现不识别的状态,主要是在边框的时候;
这时候可以在css语句后面加上/* no */ 表示此行语句不转换;如

.tabs div{
        width: 218px;
        height: 70px;
        line-height: 72px;
        text-align: center;
        border: 1px solid #dcdcdc;/* no */
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容