Die Unterstützung für die experimentelle Syntax 'optionalChaining' ist derzeit nicht aktiviert
Ich habe den obigen Fehler erhalten. Ich folgte diesem Post und fügte "@babel/plugin-proposal-optional-chaining": "^7.7.4"
in meine devDependencies
.
Dann bekomme ich diesen Fehler,
Fügen Sie @ babel / plugin-comment-optional-chaining ( https://git.io/vb4Sk ) zum Abschnitt 'plugins' Ihrer Babel-Konfiguration hinzu, um die Transformation zu aktivieren.
Also folgte ich diesem Beitrag und fügte eine .babelrc
Datei in das Stammverzeichnis meines Projekts ein
{
"presets": ["react", "es2015","stage-1"],
"plugins": ["transform-runtime", "transform-optional-chaining"]
}
Dies schien nichts zu bewirken. Ich hörte auch jemanden erwähnen, der Create React App
es Ihnen nicht erlaubt, die Konfigurationen von babel zu ändern. Meine Frage ist also, wie ich die optionale Verkettung aktivieren kann, ohne das Ganze neu zu verkabelnCRA
.
PS Ich benutze "typescript": "^3.7.2"
, oder zumindest ist es das, was ich package.json
sage. Ich habe versucht npm install
sicherzustellen, dass es aktualisiert wird. Ich bin mir nicht sicher, ob CRA
ich etwas Seltsames darunter mache und TypeScript
irgendwie eine ältere Version von benutze .
EDIT:
Als ich das Projekt mit startete CRA
, glaube ich, dass wir verwendet haben TypeScript: 3.6.x
. Ich wollte verwenden Optional Chaining
, also habe ich meine package.json
Datei auf "typescript": "^3.7.2"
dann geändert npm install
. Ich denke, das Problem ist, TypeScript
weiß, dass ich verwende 3.7.2
, aber CRA
noch ältere Konfiguration habe und ich bin nicht sicher, wie ich das aktualisieren kann.
quelle
^3.7.2
. Zumindest ist es das, was ichpackage.json
sage. Ich habe es auch versuchtnpm install
.Antworten:
Create-React-App verwendet babel, um das TypeScript zu transpilieren, sodass es nicht Ihre von npm installierte Version von TypeScript verwendet. Version 3.3.0 von React-Scripts unterstützt TypeScript 3.7. Sie können es installieren und verwenden mit:
yarn add [email protected]
-oder-
npm install -s [email protected]
quelle
react-scripts 3.3.0
ohne TS verwenden?React Scripts 3.3.0 und höher unterstützen dies. Es ist nicht erforderlich, die React-Scripts @ next zu installieren.
Geben
"react-scripts": "^3.3.0"
Sie einfach die package.json ein und es wird funktionieren.quelle
package.json
config-overrides.js
.babelrc
detaillierter Blogpost
quelle
"So my question is how can I enable optional chaining without re-wiring the whole CRA?"
customize-cra
wenn ich es bereits zum Überschreiben der Konfiguration verwende? ZB:module.exports = function override(config) { config.resolve.modules = [path.resolve(__dirname, 'src'), 'node_modules']; return config; };