実験的な構文 'optionalChaining'のサポートは現在有効になっていません
上記のエラーが発生しました。私はこれを post に従って、devDependencies
に"@babel/plugin-proposal-optional-chaining": "^7.7.4"
を追加しました。
次に、このエラーが発生します、
@ babel/plugin-proposal-optional-chaining( https://git.io/vb4Sk )をBabel構成の 'plugins'セクションに追加して、変換を有効にします。
だから私はこれに従いました post と.babelrc
ファイルをプロジェクトのルートに追加しました
{
"presets": ["react", "es2015","stage-1"],
"plugins": ["transform-runtime", "transform-optional-chaining"]
}
これは何もしなかったようです。誰かがCreate React App
ではbabelの設定を変更できないと言っていることも聞きました。だから私の質問は、CRA
全体を再配線せずにオプションの連鎖を有効にするにはどうすればよいですか?
P.S。私は"TypeScript": "^3.7.2"
を使用しています。または、少なくともpackage.json
はそれを使用しています。更新されるようにnpm install
を試しました。 CRA
の下で奇妙なことをして、何らかの形で古いバージョンのTypeScript
を使用しているかどうかはわかりません。
EDIT:CRA
でプロジェクトを開始したとき、TypeScript: 3.6.x
を使用していたと思います。 Optional Chaining
を使用したかったので、package.json
ファイルを"TypeScript": "^3.7.2"
、次にnpm install
に変更しました。問題はTypeScript
が3.7.2
を使用していることを知っていると思いますが、CRA
にはまだ古い設定があり、それをどのように更新できるかわかりません。
Create-React-Appは、babelを使用してTypeScriptをトランスパイルするため、npmがインストールされているバージョンのTypeScriptを使用しません。 react-scriptsのバージョン3.3.0はTypeScript 3.7をサポートしています。あなたはそれをインストールして、それを以下で使うことができます:
yarn add [email protected]
-または-
npm install -s [email protected]
Reactスクリプト3.3.0以降でサポートされています。 react-scripts @ nextをインストールする必要はありません。
Package.json "react-scripts": "^3.3.0"
と動作します。
package.json
{
"scripts": {
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test --env=jsdom"
},
"devDependencies": {
"@babel/plugin-proposal-optional-chaining": "^7.2.0",
"customize-cra": "^0.4.1",
"react-app-rewired": "^2.1.3"
}
...other
}
config-overrides.js
const { useBabelRc, override } = require('customize-cra');
module.exports = override(useBabelRc());
。babelrc
{
"plugins": ["@babel/plugin-proposal-optional-chaining"]
}