Error:Loading PostCSS Plugin failed: Cannot find module ‘postcss-pxtorem‘

今天安装了插件posttcss插件,在运行项目的时候,出了下面的报错

安装时候的命令:yarn add -D postcss-pxtorem
错误:加载PossCSS插件失败:无法找到模块“postcss-pxtorem”
Error:Loading PostCSS Plugin failed: Cannot find module ‘postcss-pxtorem‘_第1张图片
猜想:这里是全部安装的,所以不存在模块缺失,所以猜想可能是因为版本太高,降低一下版本,重新下载一下5.1.1版本

yarn add postcss-pxtorem@5.1.1

运行第一次正常,运行第二次的时候依旧报错
Error:Loading PostCSS Plugin failed: Cannot find module ‘postcss-pxtorem‘_第2张图片
然后我查了下,把文件名改成了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,例如

你可能感兴趣的:(报错总结,vue,web,less,npm)