web-dev-qa-db-ja.com

Rails 5のWebpackerは、それほど多くのファイルをコンパイルするのに長い時間がかかります。それが何をしているのか、どうすればわかりますか?

[Webpacker] Compiling…

JavaScriptファイルへの変更をコンパイルするのに数秒(6.2秒)かかります。それは私のJS開発を本当に遅くしています。

RailsでWebpackerが実行していること、およびWebpackerがほとんどの時間を費やしているファイルを確認する方法はありますか?また、各npmライブラリが使用していた時間を表示できればよいでしょう。

Rails webpacker:compileコマンドを手動で実行できますが、そのモードには冗長モードがありません。

助けてくれてありがとう、ありがとう!

6
cmrichards

RTFMを使用する必要があります。

If you want to use live code reloading, or you have enough JavaScript that on-demand compilation is too slow, you'll need to run ./bin/webpack-dev-server or Ruby ./bin/webpack-dev-server. Windows users will need to run these commands in a terminal separate from bundle exec Rails s. This process will watch for changes in the app/javascript/packs/*.js files and automatically reload the browser to match.

ランニング ./bin/webpack-dev-serverは、ライブコードのリロードを使用し、超高速です!

9
cmrichards

Rails webpacker:compileは基本的にただ実行されますbin/webpackcompiler.rb#L59 を参照してください。残念ながら、rakeを介してオプションを渡すことはできませんが、詳細モードで自分で実行して、何が起こっているかを確認できます。

bin/webpack --verbose

これは少し読みにくく、適切なプロファイリング情報を提供しません。おそらく--profileフラグ:

bin/webpack --profile

これは、各パックをコンパイルするのにかかった時間と、さまざまなコードのチャンクの大きさを示しています。

編集webpack-dev-server別の答えで問題を解決します。今のところはそうかもしれませんが、私たちのJSは非常に肥大化しているため、アプリケーションのデプロイにはさらに7分かかります。私は物事の削減に取り組んでおり、各パックのプロファイリング情報が展開時間を短縮するために必要であることを知っています。

5
Eric Boehs