"Babel 6 regeneratorRuntime tidak ditentukan"
Soalan: Apabila menggunakan async/menunggu pada Babel 6, mesej ralat "regeneratorRuntime is not definition" muncul. Bagaimanakah perkara ini boleh dibetulkan?
Jawapan:
Untuk menyelesaikan isu ini, Babel mesti dikonfigurasikan untuk memasukkan pakej babel-polyfill, yang menyediakan sokongan masa jalan yang diperlukan untuk async /menunggu.
Langkah 1: Pemasangan Diperlukan Pakej
npm i -D babel-core babel-polyfill babel-preset-es2015 babel-preset-stage-0 babel-loader
Langkah 2: Kemas kini package.json
"devDependencies": { "babel-core": "^6.0.20", "babel-polyfill": "^6.0.16", "babel-preset-es2015": "^6.0.15", "babel-preset-stage-0": "^6.0.15" }
Langkah 3: Konfigurasikan Babel (dalam .babelrc)
{ "presets": [ "es2015", "stage-0" ] }
Langkah 4: Aktifkan Polyfill
Dalam fail permulaan anda:
require("babel-core/register"); require("babel-polyfill");
Untuk Pengguna Webpack:
Letakkan sebagai nilai pertama tatasusunan kemasukan dalam konfigurasi webpack:
module.exports = { entry: ['babel-polyfill', './test.js'], ... }
Untuk Penguji:
Jalankan ujian dengan Babel:
mocha --compilers js:babel-core/register --require babel-polyfill
Dengan melengkapkan langkah ini, Babel akan menyertakan sokongan masa jalan yang diperlukan untuk penyegerakan/menunggu, menghapuskan "regeneratorRuntime is not definition" ralat.
Atas ialah kandungan terperinci Mengapakah 'regeneratorRuntime tidak ditakrifkan' apabila menggunakan async/menunggu dengan Babel 6, dan bagaimana saya boleh membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!