首頁 > web前端 > js教程 > 為什麼在 Babel 6 中使用非同步生成器時出現'regeneratorRuntime is not Defined”,我該如何修復它?

為什麼在 Babel 6 中使用非同步生成器時出現'regeneratorRuntime is not Defined”,我該如何修復它?

Susan Sarandon
發布: 2024-11-29 08:40:11
原創
301 人瀏覽過

Why is

Babel 6 中缺少非同步產生器

在Babel 6 中,您在嘗試實現非同步時可能會遇到「regeneratorRuntime is notatorRuntime is not Defined”錯誤發電機。發生這種情況是因為構成非同步函數基礎的再生器在運行時需要與 Babel 一起包含。

解決方案:包含Babel-polyfill

解決此問題錯誤,你需要安裝babel-polyfill,它提供了對非同步的支援

npm i -D babel-core babel-polyfill babel-preset-es2015 babel-preset-stage-0 babel-loader
登入後複製

更新設定

安裝babel-polyfill 後,使用新的更新package.json 的「devDependencies」部分package.

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"
}
登入後複製

合併🎜>

合併🎜> >

在你的啟動文件中,需要babel-核心/寄存器和babel-polyfill。

啟動檔案
require("babel-core/register");
require("babel-polyfill");
登入後複製

對於 webpack 用戶,請記住將 'babel-polyfill' 作為條目數組中的第一個條目。

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

  output: {
    filename: 'bundle.js'       
  },

  module: {
    loaders: [
      { test: /\.jsx?$/, loader: 'babel', }
    ]
  }
};
登入後複製

mocha --compilers js:babel-core/register --require babel-polyfill
登入後複製
在使用Mocha 進行測試的情況下,請使用以下命令:

透過這些調整,現在可以在Babel 6 環境中存取非同步產生器,讓您可以無縫編寫和使用async/await 語法。

以上是為什麼在 Babel 6 中使用非同步生成器時出現'regeneratorRuntime is not Defined”,我該如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板