Przeglądarki docelowe, które muszę obsługiwać, już obsługują asynchronizację / czekają, ale podczas pisania testów mokki, bez odpowiedniego ustawienia, nadal pojawia się ten błąd.
Większość artykułów google są nieaktualne, w tym odpowiedź akceptowana i wysokiej głosowało odpowiedź tutaj, czyli nie trzeba polyfill
, babel-regenerator-runtime
, babel-plugin-transform-runtime
. itp., jeśli docelowa przeglądarka (przeglądarki) obsługuje już asynchronizację / oczekiwanie (oczywiście, jeśli nie, potrzebujesz wypełnienia)
Nie chcę też używać webpack
.
Odpowiedź Tylera Longa jest właściwie właściwa, ponieważ zasugerował babel-preset-env
(ale najpierw ją pominąłem, gdy wspomniał na początku o polifillie). Nadal dostałem ReferenceError: regeneratorRuntime is not defined
pierwszy, ale zdałem sobie sprawę, że to dlatego, że nie wyznaczyłem celu. Po ustawieniu celu dla węzła naprawiam błąd czasu regeneratora :
"scripts": {
//"test": "mocha --compilers js:babel-core/register"
//https://github.com/mochajs/mocha/wiki/compilers-deprecation
"test": "mocha --require babel-core/register"
},
"devDependencies": {
"babel-core": "^6.26.3",
"babel-preset-env": "^1.7.0",
"mocha": "^5.2.0"
},
//better to set it .bablerc, I list it here for brevity and it works too.
"babel": {
"presets": [
["env",{
"targets": {
"node": "current"
"chrome": 66,
"firefox": 60,
},
"debug":true
}]
]
}