今天安装了插件posttcss插件,在运行项目的时候,出了下面的报错
安装时候的命令:yarn add -D postcss-pxtorem
错误:加载PossCSS插件失败:无法找到模块“postcss-pxtorem”
猜想:这里是全部安装的,所以不存在模块缺失,所以猜想可能是因为版本太高,降低一下版本,重新下载一下5.1.1版本的
yarn add postcss-pxtorem@5.1.1
运行第一次正常,运行第二次的时候依旧报错
然后我查了下,把文件名改成了postcss.config.js,然后就好了
接下来介绍一下这个命令,这是一个移动端REM适配的命令
Vant中的样式默认使用px作为单位,但如果需要使用rem单位,就可以使用以下两个工具:
- postcss-pxtorem 是一款 postcss 插件,用于将单位转化为 rem
- lib-flexible用于设置 rem 基准值
一、使用 lib-flexible 动态设置 REM 基准值(html 标签的字体大小)
1、安装
# yarn add amfe-flexible
npm i amfe-flexible
2、然后在 main.js 中加载执行该模块
import 'amfe-flexible'
最后测试:在浏览器中切换不同的手机设备尺寸,观察 html 标签 font-size 的变化。
- 例如在 iPhone 6/7/8 设备下,html 标签字体大小为 37.5 px
- 例如在 iPhone 6/7/8 Plus 设备下,html 标签字体大小为 41.4 px
二、使用 postcss-pxtorem 将 px 转为 rem
1、安装
# yarn add -D postcss-pxtorem
# -D 是 --save-dev 的简写
npm install postcss-pxtorem -D
2、然后在项目根目录中创建 .postcssrc.js 文件
module.exports = {
plugins: {
'autoprefixer': {
browsers: ['Android >= 4.0', 'iOS >= 8']
},
'postcss-pxtorem': {
rootValue: 37.5,
propList: ['*']
}
}
}
3、配置完毕,重新启动服务
最后测试:刷新浏览器页面,审查元素的样式查看是否已将 px 转换为 rem。
需要注意的是:
- 该插件不能转换行内样式中的 px,例如
<div style="width: 100px;"></div>
更多推荐