【问题标题】:Webpack: Module build failed: Error: Cannot find module 'postcss'Webpack:模块构建失败:错误:找不到模块'postcss'
【发布时间】:2018-09-10 16:46:40
【问题描述】:

我正在尝试将我的 webpack 项目与 sass-loader 集成,但出现此错误:

 Module build failed: Error: Cannot find module 'postcss'

我已经用命令安装了 postcss 和 postcss-loader:

 npm install postcss postcss-loader --save-dev

安装后,我继续收到相同的错误消息。我测试仅与 css-loader 集成我的项目,并发生相同的错误。我认为 postcss 是 css-loader 的依赖项。

在我的 webpack.config.js 中,我在 module.rules 中使用了这个配置:

 {
    test: /\.scss$/,
    use: [{
          loader: "style-loader" // creates style nodes from JS strings
      }, {
          loader: "css-loader" // translates CSS into CommonJS
      }, {
          loader: "sass-loader" // compiles Sass to CSS
      }
    ]
  }

我安装了所有这些加载器和 node-sass,我不知道我在做什么错:(

【问题讨论】:

  • 执行npm install postcss --save-dev。它应该可以解决您的问题。
  • 我安装了 postcss,但错误仍然存​​在。
  • 对我来说似乎很奇怪,sass-loader 只需要将node-sass 安装为 peerDependency。你不需要postcss 来使用sass-loader。无论如何,尝试将postcsspostcss-loadernpm install --save-dev postcss postcss-loader 一起安装,并尝试在您的sass-loadercss-loader 之间添加{loader: "postcss-loader"}
  • 我尝试在 linux 机器上执行我的项目,我没有任何问题。出于某种原因,在我的 Windows 机器中,我总是收到此错误。我在我的 node_modules/postcss 中验证只有这些文件:node_modulespackage.info。就像没有正确安装模块一样。
  • 在 Windows 上尝试删除你的 node_modules && package-lock.json 然后运行 ​​npm install 重新安装所有包。跨度>

标签: css typescript webpack sass loader


【解决方案1】:

通过 postcss-cli 使用带有 postcss 的 autoprefixer 时出现此错误。我通过将 postcss 回滚到版本 8.1.0 来解决它(在撰写本文时,当前版本是 8.1.1)。这可以通过在终端中运行以下命令轻松完成。

npm i postcss@8.1.0

【讨论】:

    【解决方案2】:

    postcss-cli 升级到新版本9.0.1 为我修复了它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-06
      • 1970-01-01
      • 2021-05-07
      • 2018-10-22
      • 2018-01-28
      • 2019-11-06
      • 2020-01-25
      • 1970-01-01
      相关资源
      最近更新 更多