Rumah >hujung hadapan web >tutorial js >Mengapakah \'regeneratorRuntime tidak ditakrifkan\' apabila menggunakan async/menunggu dengan Babel 6, dan bagaimana saya boleh membetulkannya?

Mengapakah \'regeneratorRuntime tidak ditakrifkan\' apabila menggunakan async/menunggu dengan Babel 6, dan bagaimana saya boleh membetulkannya?

Barbara Streisand
Barbara Streisandasal
2024-12-03 04:50:13144semak imbas

Why is

"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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn