【问题标题】:No PostCSS config found未找到 PostCSS 配置
【发布时间】:2018-09-17 10:53:13
【问题描述】:

我正在尝试根据教程学习​​ reactjs。同时教程指导使用 webpack 编译样式表和 JS 资产。我陷入了一个错误,即样式表无法编译并在使用 webpack 编译文件时引发以下错误。它显示以下错误:

   ERROR in ./src/stylesheets/hello.css (./node_modules/css-loader!./node_modules/postcss-loader/lib!./src/stylesheets/hello.css)
Module build failed: Error: No PostCSS Config found in: E:\developer\start\src\stylesheets
    at E:\developer\start\node_modules\postcss-load-config\index.js:51:26
    at <anonymous>
 @ ./src/stylesheets/hello.css 2:14-124
 @ ./src/lib.js
 @ ./src/index.js
 @ multi (webpack)-dev-server/client?http://localhost:4000 ./src/index.js

我已经按照教程做了所有事情,但不知何故这个错误仍然存​​在并且无法解决这个问题,因为我对此很陌生。我的webpack配置文件webpack.config.js如下:

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

【问题讨论】:

    标签: webpack postcss postcss-loader webpack.config.js


    【解决方案1】:

    在根目录下新建文件postcss.config.js并添加

    module.exports = {};

    在以下帖子中找到了这个:

    https://stackoverflow.com/a/41758053/5350097

    【讨论】:

    • postcss.config.js 文件与module.exports = {} 放在文件中对我有用。我在package.json 中看到有关人们将postcss-loader 依赖项降级为1.0.0 的其他线程,但这似乎不起作用。这是修复!谢谢。
    • 我也确认了这一点
    【解决方案2】:

    如果您不想添加其他文件,只需在 webpack 配置中添加选项即可:

             {
               loader: `postcss-loader`,
               options: {
                 options: {},
               }
             },
    

    【讨论】:

    • 然后我得到:You did not set any plugins, parser, or stringifier 错误
    • 在 webpack 配置中的确切位置?
    【解决方案3】:

    这里有一个更大的 kontrollanten 答案的 sn-p,以确定它的确切位置:

    module: {
        rules: [
            {
                test: /\.(scss)$/,
                resolve: { extensions: [".scss"], },
                use: [
                    MiniCssExtractPlugin.loader,
                    'css-loader',
                    {
                        loader: `postcss-loader`,
                        options: {
                            options: {},
                        }
                    },
                    'resolve-url-loader?sourceMap',
                    'sass-loader?sourceMap',
                ]
            }
        ],
    },
    
    

    【讨论】:

      【解决方案4】:

      如果不想添加新的配置文件,可以使用它。

               {
                  loader: `postcss-loader`,
                  options: {
                    options: {},
                  }
                },
      

      这是同时使用MiniCssExtractPlugin的例子。

      module:{
          rules: [
            {
              test: /\.(sa|sc|c)ss$/,
              use: [
                {
                  loader: MiniCssExtractPlugin.loader,
                  options: {
                    publicPath: (resourcePath, context) => {
                      return path.relative(path.dirname(resourcePath), context) + '/';
                    },
                    hmr: process.env.NODE_ENV !== 'production',
                  },
                },
                'css-loader',
                {
                  loader: `postcss-loader`,
                  options: {
                    options: {},
                  }
                },
                'sass-loader',
              ],
            },
          ],
        },
      

      【讨论】:

        【解决方案5】:

        如果有人遇到同样的问题,但上面的修复仍然无法解决问题,请尝试将 postcss-loader 的版本更新为 4.2.0 (webpack 4)。这为我解决了这个问题。我的postcss-loader2.0.9,在大量更新其他依赖项后,我试图让故事书工作。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-08-16
          • 2017-09-15
          • 1970-01-01
          • 2018-11-25
          • 2017-08-21
          • 2017-04-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多