Невозможно перенести Async / Await for Browser с Babel 7 - PullRequest
0 голосов
/ 30 ноября 2018

Я пытаюсь передать async/await операторов для использования в браузере (еще в IE11).Я использую Rollup и Babel 7, но продолжаю получать ошибки в Chrome, когда я фактически запускаю код.Я чувствую, что это связано с плагинами и / или их конфигурацией, но они зашли в тупик.

Вот мой файл .babelrc:

{
  "presets": [
    "@babel/preset-env"
  ],
  "plugins": [
    "@babel/plugin-proposal-class-properties",
    "@babel/plugin-transform-async-to-generator",
    "@babel/plugin-transform-runtime"
  ]
}

А вот пакеты, которые я установил:

  "devDependencies": {
    "@babel/core": "^7.1.6",
    "@babel/plugin-proposal-class-properties": "^7.1.0",
    "@babel/plugin-transform-async-to-generator": "^7.1.0",
    "@babel/plugin-transform-runtime": "^7.1.0",
    "@babel/preset-env": "^7.1.6",
    "babel-jest": "^21.2.0",
    "concurrently": "^3.5.1",
    "express": "^4.16.2",
    "jest-cli": "^21.2.1",
    "prettier": "^1.15.3",
    "rollup": "^0.67.3",
    "rollup-plugin-babel": "^4.0.3",
    "rollup-plugin-uglify": "^3.0.0"
  },
  "dependencies": {
    "@babel/runtime": "^7.1.5"
  }

В браузере я получаю эту ошибку:

Uncaught TypeError: Cannot read property 'mark' of undefined

... которая прослеживается до строки в моем коде, которая выглядит следующим образом:

_regeneratorRuntime.mark(function _callee2() {

Я не знаюt думаю Мне нужно импортировать что-то вроде polyfill Babel, из-за того, что я прочитал о том, как я реализую все, но я могу ошибаться.Любое направление будет высоко ценится.

1 Ответ

0 голосов
/ 01 декабря 2018

Из этого ответа https://stackoverflow.com/a/36821986/9816567 он рекомендует использовать этот конфиг в плагине transform-runtime

{
  "plugins": [
    ["transform-runtime", {
      "polyfill": false,
      "regenerator": true
    }]
  ]
}
...