Dukungan untuk sintaks eksperimental 'opsionalChaining' saat ini tidak diaktifkan
Saya mendapatkan kesalahan di atas. Saya mengikuti posting ini dan menambahkan "@babel/plugin-proposal-optional-chaining": "^7.7.4"
ke blog saya devDependencies
.
Lalu saya mendapatkan kesalahan ini,
Tambahkan @ babel / plugin-proposal-opsional-chaining ( https://git.io/vb4Sk ) ke bagian 'plugins' dari konfigurasi Babel Anda untuk mengaktifkan transformasi.
Jadi saya mengikuti posting ini dan menambahkan .babelrc
file ke root proyek saya
{
"presets": ["react", "es2015","stage-1"],
"plugins": ["transform-runtime", "transform-optional-chaining"]
}
Ini sepertinya tidak melakukan apa-apa. Saya juga mendengar seseorang menyebutkan bahwa Create React App
tidak membiarkan Anda mengubah konfigurasi babel. Jadi pertanyaan saya adalah bagaimana saya bisa mengaktifkan rangkaian opsional tanpa menghubungkan ulang keseluruhan CRA
?
PS saya gunakan "typescript": "^3.7.2"
, atau setidaknya itu yang saya package.json
katakan. Saya mencoba npm install
memastikan itu diperbarui. Tidak yakin apakah CRA
melakukan sesuatu yang aneh di bawahnya dan TypeScript
entah bagaimana menggunakan versi yang lebih lama .
EDIT:
Ketika saya memulai proyek dengan CRA
, saya yakin kami menggunakan TypeScript: 3.6.x
. Saya ingin menggunakan Optional Chaining
, jadi saya mengubah package.json
file saya untuk "typescript": "^3.7.2"
saat itu npm install
. Saya pikir masalahnya adalah, TypeScript
tahu bahwa saya menggunakan 3.7.2
, tetapi CRA
masih memiliki konfigurasi yang lebih lama dan saya tidak yakin bagaimana saya dapat memperbarui itu.
sumber
^3.7.2
. Atau setidaknya itulah yang sayapackage.json
katakan. Saya sudah mencobanpm install
juga.Jawaban:
Buat-Bereaksi-Aplikasi menggunakan babel untuk mentransmisikan TypeScript sehingga tidak menggunakan versi npm Anda menginstal TypeScript. Versi 3.3.0 skrip reaksi mendukung TypeScript 3.7. Anda dapat menginstalnya dan menggunakannya dengan:
yarn add [email protected]
-atau-
npm install -s [email protected]
sumber
react-scripts 3.3.0
tanpa menggunakan TS?Bereaksi skrip 3.3.0 dan di atasnya mendukungnya. Tidak perlu menginstal skrip reaksi @ selanjutnya.
Masukkan saja package.json
"react-scripts": "^3.3.0"
dan itu akan berhasil.sumber
package.json
config-overrides.js
.babelrc
blogpost terperinci
sumber
"So my question is how can I enable optional chaining without re-wiring the whole CRA?"
customize-cra
jika saya sudah menggunakannya untuk mengganti konfigurasi? Misalnya:module.exports = function override(config) { config.resolve.modules = [path.resolve(__dirname, 'src'), 'node_modules']; return config; };