46
39

More than 5 years have passed since last update.

async/awaitを使用して、"regeneratorRuntime is not defined "エラーが出た時の対処

Last updated at Posted at 2018-12-29

webpack@4.28.2babel-loader@8.0.4環境下でasync/awaitを使用したところ"regeneratorRuntime is not defined"エラーがでました。その時の対処方法をメモします。

対処方法

@babel/polyfillをインストールして

npm install @babel/polyfill --save-dev

webpack.config.jsのentryを以下のように変更すればOKです。

webpack.config.js
 entry: ['@babel/polyfill', './src/index.js']

メモ

babel-loader 8 でasync/awaitを動作させるためには、@babel/polyfillが必要です。
bable-loader 7 では @babel/polyfillの代わりにbabel-polyfillが必要になります。

追記 (2019/07/30)

webpackを使用せず、bable-cli + .babelrcでbabelを使用している場合、@babel/preset-envのオプションでtargetsを指定することで対処できます。

.babelrc
{
  "presets": [
    [
      "@babel/preset-env",
      {
        "targets": {
          "node": true
        }
      }
    ]
  ]
}

これにより現在のnode.jsのバージョンに対応した形でコンパイルされるため、async/awaitが使用可能になります。(詳しくはこちらを参照してください)

46
39
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
46
39