2017-08-26 1 views
5

私はLaravel mixでjavascriptファイルをコンパイルしていますが、Babelとpackage.jsonについてはあまり知識がありませんので、Laravel MixがES8、特にasync/awaitをサポートしているかどうか尋ねたいと思いますか?Laravel MixはES8をサポートしていますか?

私が試してみると、ミックスが非同期化/ ES5を待っているのか、async/awaitが最新のバージョンである私のブラウザで単純にサポートされているのかわかりません。私はまだそれがES2015に転送されたいので、アプリケーションはES5だけをサポートするブラウザでも動作します。

+2

Laravel Mixは、適切なプラグインがバベルに追加されていれば、async/await構文がサポートされている場合、バーベルを使用します。私は現在、これを行う方法を調査しています。私はあなたにお知らせします。 – Cobolt

+2

@Cobolt素晴らしい、任意の助けに感謝します。あなたの調査がどのようになっているか知っていることに興奮して、私はどこを見始めるべきかわからないので、私は困惑します。私はグーグルで多くの役に立たない。 – jcsoriano

答えて

11

は非同期/ Laravelミックスを待つ:あなたはボックスの外にLaravelミックスを使用して、非同期を使用して待っていた場合

は、次のエラーメッセージが出ます:

Uncaught ReferenceError: regeneratorRuntime is not defined

をしかしLaravelミックスはバベルを使用していますES2015をサポートします。必要に応じてコンパイルをカスタマイズすることができます。

{ 
    "presets": ["es2015", "stage-3"], 
    "plugins": [ 
    "transform-runtime" 
    ] 
} 

し、必要なNPMパッケージをインストールします:

npm install babel-preset-es2015 babel-preset-stage-3 babel-plugin-transform-runtime --save-dev 

重要なこと(原因となった、非同期/のawait取り組んでもらう。このコンテンツであなたのルートディレクトリにファイル.babelrcを追加するには

エラー)は、変換ランタイムプラグインです。 Laravel Mixには同梱されていませんが、非同期/待機中の機能を使用するには、その必要があります。

ES8:

あなたは上で見てきたように、あなたはバベルに異なるプリセットステージを使用することができます。それらを使用すると、ES8以降に含まれる機能を使用できます。たとえば、ステージ-3は、非同期/待機機能を持ちます。

ウェブサイトにはoverview of the stagesがあります。

+3

これは.babelrcではなく、.bashrc、そうですか? – MartinSuecia

+0

@MartinSueciaあなたは正しいです。修正しました。 –

+3

なぜこの回答に何百ものアップフォートがありませんか?くそった、あなたは私の時間を節約した、素晴らしい仕事! – Mjh

関連する問題