Parcel を使ってJavaScriptアプリケーションを書いているときに、async/awaitを使おうとすると下のエラーが出ました。
Uncaught ReferenceError: regeneratorRuntime is not defined
調べたところ、次のサイトに解決策が載っていました。
対処法1
ブラウザを比較的新しいものだけに限定して構わないのであれば、次の方法が簡単です。
package.jsonに以下を追記します。
"browserslist": ["since 2017-06"]
これでasync/awaitを使ってもエラーが出なくなります。
対処法2
もう一つの対処法としては、「regenerator-runtime」パッケージをインストールするというものがあります。
> npm install regenerator-runtime
でインストールしておき、index.jsなどから
import 'regenerator-runtime/runtime';
として読み込みます。
バンドルサイズが25KBほど増えてしまうようですが、こちらの方法でもエラーが出なくなります。古いブラウザもサポートする必要がある場合はこちらを使うことになると思います。