我已经创建了一个空白的React项目,使用命令:npx create-react-app在npm v7.0.7和Node.js v15.0.1

安装:

v17.0.1反应, node-sass v5.0.0,

然后我尝试导入一个空白的.scss文件到App组件:

文件App.js

import './App.scss'

function App() {
  return (
    <div className="App">
      App
    </div>
  );
}

export default App;

它抛出一个错误:

Failed to compile.

./src/App.scss (./node_modules/css-loader/dist/cjs.js??ref--5-oneOf-6-1!./node_modules/postcss-loader/src??postcss!./node_modules/resolve-url-loader??ref--5-oneOf-6-3!./node_modules/s
ass-loader/dist/cjs.js??ref--5-oneOf-6-4!./src/App.scss)
Error: Node Sass version 5.0.0 is incompatible with ^4.0.0.

文件package.json

{
  "name": "react-17-node-sass-5",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.11.5",
    "@testing-library/react": "^11.1.0",
    "@testing-library/user-event": "^12.1.10",
    "node-sass": "^5.0.0",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "react-scripts": "4.0.0",
    "web-vitals": "^0.2.4"
  },
 ...

  }
}

当前回答

或者重新构建node-sass,这样兼容性就不会产生错误。 当node-sass和node发生不兼容时,您将得到typescript错误。 这样做可以实现node-sass的兼容性。

NPM重建node-sass

其他回答

如果错误是

错误:节点Sass版本5.0.0与^4.0.0不兼容

步骤1:停止服务器

第二步:运行命令为npm uninstall node-sass

步骤3:检查package.json中的node-sass。如果node-sass在文件中可用,则再次运行步骤2。

步骤4:npm install node-sass@4.14.1 <=== run命令

步骤5:等待命令执行成功。

步骤6:使用npm启动服务器

添加sass-loader作为开发依赖为我解决了这个问题。 “devDependencies”:{“node-sass”:“0 ^”、“sass-loader”:“^ 11.1.1 "}

我也遇到过同样的问题,下面是我解决问题的方法:

首先,您必须知道您在项目中使用的是哪个node-sass版本。然后去升级或降级你当前的Node.js版本到与你当前node-sass版本兼容的版本,你可以从这个链接知道。

当然,停止服务器并关闭IDE。

所以,升级或降级Node.js版本的最好方法,已经在上面的回答中提到了。然后删除node_modules和package-lock。重新安装…你可以这样做:

npm cache clean --force

rm -rf /node_modules package-lock.json

npm install

npm audit fix

npm run <your_script_name>

请注意Node Sass已弃用,您可以用Dart Sass替换它:

警告:LibSass和Node Sass已弃用。虽然他们将继续无限期地收到维护版本,但没有计划添加额外的功能或与任何新的CSS或Sass功能的兼容性。仍在使用它的项目应该转移到Dart Sass上。

来源:node-sass

下面的食谱对我很有帮助:

卸载node-sass: Npm: Npm卸载node-sass 纱线:纱线去除节点 卸载sass-loader: Npm: Npm卸载sass-loader 纱线:取纱机 将Dart Sass作为开发依赖项安装 安装sass -dev Yarn: Yarn add sass -dev

在建造之前,你还应该:

删除node_modules目录 删除锁文件: 删除package-lock.json yarn:删除yarn.json

这是版本问题。安装正确的依赖版本:

npm uninstall node-sass
npm install node-sass@4.14.1