Menyelesaikan "regeneratorRuntime is not definition" Ralat dengan Babel 6 Async/Await
Apabila cuba melaksanakan fungsi async/waiit dalam Babel 6, pembangun mungkin menghadapi ralat "regeneratorRuntime is not definition". Ini kerana, tidak seperti dalam versi Babel yang terkemudian, sokongan async/menunggu memerlukan pakej babel-polyfill dalam Babel 6.
Penyelesaian:
Pasang babel-polyfill:
npm i -D babel-polyfill
Kemas kini pakej.json:
"devDependencies": { "babel-polyfill": "^6.0.16", }
Ubah suai konfigurasi webpack (jika berkenaan):
Dalam webpack.config.js, pastikan babel-polyfill ialah entri pertama dalam tatasusunan entri:
module.exports = { entry: ['babel-polyfill', './test.js'], ... };
Sediakan babel-polyfill dan babel-core dalam fail permulaan:
require("babel-core/register"); require("babel-polyfill");
Contoh Kod:
"use strict"; export default async function foo() { var s = await bar(); console.log(s); } function bar() { return "bar"; }
Menjalankan Ujian dengan Babel:
Apabila menjalankan ujian dengan Babel, gunakan arahan berikut:
mocha --compilers js:babel-core/register --require babel-polyfill
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \'regeneratorRuntime is not defined\' dalam Babel 6 dengan Async/Await?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!