我正在尝试根据教程学习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
}]
}
]
}
};
答案 0 :(得分:35)
在名为postcss.config.js
的根目录中创建了一个新文件并添加了
module.exports = {};
在以下帖子中找到了这个:
答案 1 :(得分:15)
如果您不想添加其他文件,只需在webpack配置中添加选项即可:
{
loader: `postcss-loader`,
options: {
options: {},
}
},
答案 2 :(得分:1)
下面是kontrollanten的答案的较大片段,以确保将其准确放置在何处:
module: {
rules: [
{
test: /\.(scss)$/,
resolve: { extensions: [".scss"], },
use: [
MiniCssExtractPlugin.loader,
'css-loader',
{
loader: `postcss-loader`,
options: {
options: {},
}
},
'resolve-url-loader?sourceMap',
'sass-loader?sourceMap',
]
}
],
},
答案 3 :(得分:0)
如果不想添加新的配置文件,则可以使用它。
{
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',
],
},
],
},
答案 4 :(得分:0)
如果有人遇到同样的问题,但上述修复仍不能解决问题,请尝试将 postcss-loader
的版本更新为 4.2.0
(webpack 4)。这为我解决了这个问题。我的 postcss-loader
是 2.0.9
,在大量更新其他依赖项后,我试图让故事书工作。