在CreateReact应用程序v3.x中将节点Sass替换为Dart Sass

在CreateReact应用程序v3.x中将节点Sass替换为Dart Sass,sass,create-react-app,node-sass,Sass,Create React App,Node Sass,有人成功地做到了吗?我目前在CRA项目中安装了节点sass,我正试图用dart sass替换它,但遇到了困难,因为CRA错误输出告诉我需要安装节点sass。有没有办法让底层CRA配置知道使用我安装的dart sass包而不是节点sass 如果您使用的是npm>6.9,您可以这样创建别名 npm install node-sass@npm:sass 它将安装dart sass,您将能够保持您的CRA配置。CRA存储库中有此配置,因此您可能只需运行几个命令就可以轻松地从节点sass迁移到dart

有人成功地做到了吗?我目前在CRA项目中安装了
节点sass
,我正试图用
dart sass
替换它,但遇到了困难,因为CRA错误输出告诉我需要安装
节点sass
。有没有办法让底层CRA配置知道使用我安装的
dart sass
包而不是
节点sass


如果您使用的是npm>6.9,您可以这样创建别名

npm install node-sass@npm:sass
它将安装
dart sass
,您将能够保持您的CRA配置。

CRA存储库中有此配置,因此您可能只需运行几个命令就可以轻松地从
节点sass
迁移到dart sass

首先,检查您的
warn.lock
package lock.json
,了解您的
react脚本所依赖的
sass加载程序的版本是否为7.2.0或更高版本

如果是,则只需运行以下命令:

yarn remove node-sass
yarn add sass
在我的情况下,由于应用程序出现问题,我不得不删除
node\u modules
目录并再次运行
warn安装

注意事项:

  • 我使用的
    react脚本
    版本是4.0.0
  • 系统为
    sass
  • 自2020年10月26日起使用

非常有魅力!在我的例子中,只需要删除
节点sass
并添加
sass
。我将其添加为
devDependency
,这会对生产行为产生负面影响吗?谢谢@另外,CRA的文档中说要在
依赖项上安装它
:对于直接在
依赖项上添加依赖项
这一事实,也存在很多问题,似乎在某些情况下,向
依赖项
添加依赖项可能会导致构建失败。查看本期了解更多信息:嗨,@MiltonCastro我也遵循了你的方法,但之后遇到了一个问题<代码>SassError:应为“n”。╷ 645│ .MuiSlider markLabel.MuiSlider markLabelActive:nth-last-child(){..}
。我尝试删除
node\u模块
npm安装
,但对我无效。您能帮忙吗?看起来您已经成功地迁移到Dart Sass,但是您的代码出现了一个传输错误。我曾经遇到过这样的问题,它与class属性中缺少分号有关。请尝试注释整个类
.MuiSlider markLabel.MuiSlider markLabelActive:n从第645行开始的最后一个子类
,以检查此错误是否已修复。如果是这样,您可以尝试缩小注释代码的范围,直到找到确切的失败点。