我在M1苹果上,所以节点-sass不适合我。每一个我工作的站点,我卸载节点-sass和安装sass(如果有人有这个问题,也更改nvm使用16.2.0 )。
这种方法一直有效,但是在这样做之后,今天我得到了以下错误
Module build failed (from ./node_modules/sass-loader/lib/loader.js):
Error: Cannot find module 'node-sass'因此,我进入了node_node/sass-加载程序/lib/loader.js,并在第46行中找到了这个
const render = getRenderFuncFromSassImpl(options.implementation || require("node-sass"));并将其改为
const render = getRenderFuncFromSassImpl(options.implementation || require("sass"));一切正常,css被编译..。但我所做的似乎是个黑客,
发布于 2022-04-12 08:04:41
您可以在您的实现中设置sass-loader的值,因此它将使用options.implementation的值而不是require("node-sass")。
module.exports = {
module: {
rules: [
{
test: /\.s[ac]ss$/i,
use: [
"style-loader",
"css-loader",
{
loader: "sass-loader",
options: {
// Prefer `dart-sass`
implementation: require("sass"),
},
},
],
},
],
},
};关于你的第三个问题,医生说:
默认情况下,加载程序根据依赖项解析实现。只需将必需的实现添加到
package.json(sass或node-sass包)并安装依赖项即可。
也许您仍然将node-sass作为依赖项列出?
发布于 2022-06-08 07:55:41
我为同样的问题而挣扎。最终起作用的是删除package-lock.json并重新安装所有的东西。
https://stackoverflow.com/questions/71830681
复制相似问题