找不到模块:错误:找不到带有标识“ postcss”的选项

时间:2018-09-11 18:23:54

标签: reactjs postcss webpack-4 css-loader postcss-loader

我是stackoverflow的新手,问你一个我在互联网上找不到的问题...我希望我在一个好的网站中:)

所以这是我的问题:我想从node_modules依赖项导入一些CSS文件到React应用程序。我使用webpack进行开发,但标题中出现了我不明白的错误。 所以这是编译器的错误详细信息:

    ERROR in ./src/scss/app.scss
Module not found: Error: Can't find options with ident 'postcss'
 @ ./src/scss/app.scss 9:10-188
 @ ./src/app/App.js
 @ ./src/index.js
 @ multi (webpack)-dev-server/client?http://localhost:8080 (webpack)/hot/dev-server.js ./src

另外,在导航控制台中,我得到了:

Error: Cannot find module '-!../../node_modules/css-loader/index.js?{"importLoaders":1}!../../node_modules/postcss-loader/lib/index.js??postcss!react-big-calendar/lib/css/react-big-calendar.css'

那是我的scss文件的内容无法加载css文件。 App.scss:

exports.i(require("-!../../node_modules/css-loader/index.js?{\"importLoaders\":1}!../../node_modules/postcss-loader/lib/index.js??postcss!react-big-calendar/lib/css/react-big-calendar.css"), "");

您还可以检查我的webpack配置文件:

const HtmlWebPackPlugin = require("html-webpack-plugin");

const htmlWebpackPlugin = new HtmlWebPackPlugin({
  template: "./src/index.html",
  filename: "./index.html"
});

module.exports = {
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: "babel-loader"
        }
      },
      {
        test: /\.css$/,
        use: [
          'style-loader',
          { loader: 'css-loader', options: { importLoaders: 1 } },
          'postcss-loader'
        ]
      }
    ]
  },
  plugins: [htmlWebpackPlugin],
  resolve: {
    extensions: ['.js', '.jsx', '.json', '.css']
  }
};

我的代码怎么了?

非常感谢您的帮助!如果我不太清楚,请询问其他信息

1 个答案:

答案 0 :(得分:0)

您可能需要将 postcss-loader 配置更改为此。取决于您拥有哪个版本的加载程序,从 4.0.0 (https://github.com/webpack-contrib/postcss-loader/releases/tag/v4.0.0) 开始不需要

{
  loader: 'postcss-loader',
  options: {
    ident: 'postcss',
  },
}