Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
37
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

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

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が使用可能になります。(詳しくはこちらを参照してください)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
37
Help us understand the problem. What are the problem?