2017-01-26 9 views
1

Chrome拡張マニフェストファイルを入力として使用し、同じファイルを吐き出すが、プロジェクトのpackage.jsonファイルのバージョン属性に一致するようにバージョン属性が変更されたwebpack loaderと書いた。Webpackローダーに非同期のメリットはありますか?

これは私の最初のWebpackローダーで、the docsを読んでいるうちに、Webpackローダーが同期または非同期のいずれかになる可能性があることがわかりました。ドキュメントから:

単一の結果が同期モードで返されます。複数の結果の場合は、 this.callback()を呼び出す必要があります。非同期モードの場合、this.async()は である必要があります。非同期モードが許可されている場合はthis.callback()を返します。次に、 ローダーはundefinedを返し、コールバックを呼び出す必要があります。

私のローダーは単一の結果しか返しませんが、好奇心の念から、同期と非同期の両方で動作するように書きました。

このローダーには、非同期に実行できる機能がありますか、または単純な同期ローダーでなければなりませんか?

このローダーは実際にディスクに何も書き込まれません。実際にディスクに書き込むには、このローダーの結果をfile-loaderに渡す必要があります。これはまた、おそらく非同期ではなく同期的でなければならないと考えるようになります。

答えて

1

Q:このローダーには、非同期で実行できる利点はありますか?

いいえ、私はあなたのローダーの利益がasyncであるとは限りません。私はあなたのローダーにIO操作(ファイルの読み書き)がないと仮定します。

IO操作がある場合は、ローダーをasyncとする方がよいでしょう。

通常、ローダーから値を複数回渡す必要がある場合は、asyncローダーが役立ちます。あなたのケースでは、ローダーを持っている方が良いです。sync

+0

'あなたのローダーにIO操作(ファイルの読み書き)がないと仮定します。サードパーティ製の 'file-loader'に頼るのではなくIO操作を行うように変更することができます。ですから、私はそのインスタンスを非同期で動作させると有益でしょうか? – MrMisterMan

+1

@MrMisterManはい、ローダーを 'async' – Thaadikkaaran

関連する問題