Ich habe ein leeres React-Projekt mit dem folgenden Befehl erstellt: npx create-react-app
on npm v7.0.7 und Node v15.0.1
Eingerichtet:
- Reagiere v17.0.1,
- node-sass v5.0.0,
Dann habe ich versucht, eine leere .scss-Datei in die App-Komponente zu importieren:
App.js.
import './App.scss'
function App() {
return (
<div className="App">
App
</div>
);
}
export default App;
Wirf einen Fehler:
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"
},
...
}
}
yarn add [email protected]
ist viel schnellerDeinstallieren Sie node-sass
benutze sass von:
quelle
Der einzige Grund, warum Sie einen solchen Fehler erhalten, ist, dass Ihre Knotenversion nicht mit Ihrer Node-Sass-Version kompatibel ist.
Lesen Sie daher die Dokumentation hier: https://www.npmjs.com/package/node-sass
Oder dieses Bild unten hilft Ihnen, welche Knotenversion die Node-Sass-Version verwenden kann.
Wenn Sie beispielsweise Node Version 12 unter Windows verwenden ("vielleicht"), müssen Sie die Node-Sass-Version 4.12 installieren .
npm install node-sass@4.12
Genau so. Jetzt müssen Sie nur noch die vom Node-Sass-Team empfohlene Node-Sass-Version mit den auf Ihrem Computer installierten Knoten installieren.
quelle
npm install node-sass@^4.12
Dies entspricht der Installation von 4.14.1 (neueste bekannte Version von Version 4).npm install [email protected]
. Aber ich habe es mit Node-Sass 4.14.1 in NodeJS 12.18.3 versucht und es funktioniert nicht. Aus diesem Grund habe ich empfohlen, die Version zu verwenden, die das Node-Sass-Team empfohlen hat, und ich verwende sie nicht^
. Weil es auf die neueste Version von Node-Sass 4 aktualisiert wirdWenn Sie CRA mit dem Standardpaketmanager
yarn
verwenden, gehen Sie wie folgt vor. Hat für mich gearbeitet.yarn remove node-sass yarn add node-sass@4.14.1
quelle