【发布时间】: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。无论如何,尝试将postcss和postcss-loader与npm install --save-dev postcss postcss-loader一起安装,并尝试在您的sass-loader和css-loader之间添加{loader: "postcss-loader"}。 -
我尝试在 linux 机器上执行我的项目,我没有任何问题。出于某种原因,在我的 Windows 机器中,我总是收到此错误。我在我的 node_modules/postcss 中验证只有这些文件:node_modules 和 package.info。就像没有正确安装模块一样。
-
在 Windows 上尝试删除你的 node_modules && package-lock.json 然后运行
npm install重新安装所有包。跨度>
标签: css typescript webpack sass loader