Lisää
Babel 6 regeneratorRuntime ei ole määritelty
Yritän käyttää async, await tyhjästä Babel 6:ssa, mutta saan regeneratorRuntime ei ole määritelty.
.babelrc-tiedosto
{
"presets": [ "es2015", "stage-0" ]
}
package.json-tiedosto
"devDependencies": {
"babel-core": "^6.0.20",
"babel-preset-es2015": "^6.0.15",
"babel-preset-stage-0": "^6.0.15"
}
.js-tiedosto
"use strict";
async function foo() {
await bar();
}
function bar() { }
exports.default = foo;
Sen käyttäminen normaalisti ilman async/awaitia toimii hienosti. Onko ideoita, mitä teen väärin?
569
3
babel-polyfill
vaaditaan. Sinun on myös asennettava se, jotta saat async/await:n toimimaan.package.json
.babelrc
.js ja async/await (esimerkkikoodi)
Käynnistystiedostossa
Jos käytät webpackia, sinun on laitettava se
entry
-määritteen ensimmäiseksi arvoksi webpackin konfiguraatiotiedostossa (yleensäwebpack.config.js
), kuten @Cemen kommentoi:Jos haluat ajaa testejä babelilla, käytä:
Polyfillin lisäksi käytän babel-plugin-transform-runtime. Lisäosa on kuvattu seuraavasti:
Se sisältää myös tuen async/awaitille sekä muille ES 6:n sisäänrakennetuille lisäosille.
Lisää tiedostoon
.babelrc
ajoaikaliitännäinen lisäosaVaihtoehtoisesti, jos et tarvitse kaikkia moduuleja, joita
babel-polyfill
tarjoaa, voit vain määrittääbabel-regenerator-runtime
webpackin konfiguraatiossa:Kun käytit webpack-dev-palvelinta HMR:n kanssa, tämä vähensi melko paljon niiden tiedostojen määrää, jotka sen täytyy kääntää jokaisessa buildissa. Tämä moduuli asennetaan osana
babel-polyfilliä
, joten jos sinulla on jo se, olet kunnossa, muuten voit asentaa sen erikseen komennollanpm i -D babel-regenerator-runtime
.