在 Create React App v3.x 中用 Dart-Sass 替换 Node-Sass

Dan*_*hez 21 sass node-sass create-react-app

有没有人成功地做到了这一点?我目前已node-sass安装在我的 CRA 项目中,我正在尝试替换它,dart-sass但遇到了困难,因为 CRA 错误输出告诉我我需要node-sass安装。有什么方法可以让底层 CRA 配置知道使用我安装的dart-sass包而不是node-sass

在此处输入图片说明

Mil*_*tro 36

CRA 存储库上有这个已关闭的问题,因此您可能node-sass只需运行一些命令即可轻松地从Dart Sass迁移。

首先检查您的yarn.lockpackage-lock.json以了解sass-loader您所react-scripts依赖的版本是否为 7.2.0 或更高版本。

如果是这样,您只需要运行以下命令:

yarn remove node-sass
yarn add sass
Run Code Online (Sandbox Code Playgroud)

就我而言,在那之后,由于应用程序出现问题,我不得不删除node_modules目录并yarn install再次运行。

笔记:

  • @sevenlops,CRA 的文档说将其安装在“依赖项”上:https://create-react-app.dev/docs/adding-a-sass-stylesheet/ Thera 也有很多问题质疑这一事实直接在“dependencies”上添加依赖项,并且似乎在“devDependency”上添加依赖项可能会导致在某些情况下构建失败。检查此问题以获取更多信息:https://github.com/facebook/create-react-app/issues/2696 (3认同)

小智 21

如果您使用 npm > 6.9,您可以像这样创建一个别名

npm install node-sass@npm:sass
Run Code Online (Sandbox Code Playgroud)

它将安装dart-sass,并且您将能够保留您的 CRA 配置。