首頁 >web前端 >js教程 >為什麼在 Babel 6 中使用 async/await 時出現'regeneratorRuntime 未定義”,以及如何修復它?

為什麼在 Babel 6 中使用 async/await 時出現'regeneratorRuntime 未定義”,以及如何修復它?

Barbara Streisand
Barbara Streisand原創
2024-12-03 04:50:13132瀏覽

Why is

「Babel 6 regeneratorRuntime 未定義」

問題:在Babel 6 上使用錯誤訊息“regeneratorRuntime 未定義”。如何解決這個問題?

答案:

要解決這個問題,Babel 必須配置為包含babel-polyfill 包,它為異步提供必要的運行時支援/await.

第 1步驟:需安裝軟體套件

npm i -D babel-core babel-polyfill babel-preset-es2015 babel-preset-stage-0 babel-loader

第2 步驟:更新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"
}

第3 步:設定:設定檔Babel (在.babelrc 中)

{
  "presets": [ "es2015", "stage-0" ]
}

步驟4: 啟動Polyfill

在啟動檔案中:

require("babel-core/register");
require("babel-polyfill");

對於Webpack 使用者:

作為第一個值webpack配置中的項目數組:

module.exports = {
  entry: ['babel-polyfill', './test.js'],
  ...
}

對於測試人員:

使用Babel 運行測試:

mocha --compilers js:babel-core/register --require babel-polyfill

通過完成這些步驟, Babel 將為async/await 提供必要的運行時支持,消除「regeneratorRuntime 未定義」錯誤。

以上是為什麼在 Babel 6 中使用 async/await 時出現'regeneratorRuntime 未定義”,以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn