webpack簡単まとめ
はじめに
- react + echo でSPAを作るぞ、と意気込んだものの色々分からないので、ちょっとずつ進めていく。
- 自分のレベルは
create-react-app
でTODOアプリくらいは作ってみたけど、なんで動いているのかよく分かっていないよ、くらい- node、npmはこの前簡単にまとめてみたのでなんとなく分かる
- 公式ドキュメントのGuidesを進めていく中で、覚えときたいところ、よく分からなかったところ、忘れそうなところのメモ書き。
- 具体的なコードは書かないのでモジュール名などでググるべし
Asset Management
- webpack.config.jsにwebpackの設定を追加していく
- npm管理されている各種loader(style-loaderなど)をconfig追加すると、各種ファイルをバンドルできる
Output Management
- jsやcssファイルがバンドルされる際、ファイル名がハッシュになるが、htmlファイルが参照するファイル名は変わらないという問題が発生する
html-webpack-plugin
を使おう- コンパイル毎にファイル名のハッシュが変更されてしまうのを解決してくれる
- 使われないファイルが出力先フォルダに増えていく問題に対しては、
clean-webpack-plugin
を使うと、使わないやつを消してくれる。
Development
- バンドルしたファイルでエラーが起こったとき、バンドル前のどのファイルでエラーが起こったか分からない?
- webpackの
inline-source-map
オプションを使うと、元ファイルのエラーを表示してくれる
- webpackの
- ファイル変更する度にビルドし直すの面倒だよね?3つの解決方法がある
Code Spliting
出力されるjsファイルを分割する方法は3つ。
ぱっと見は
2
が良さそうEntry Pointsを分けること
- webpack.config.jsファイルの
entry
を複数指定する - 簡単で直感的だが、複数ファイルで重複したモジュールがバンドルされる可能性がある
- webpack.config.jsファイルの
CommonsChunkPluginを使うこと
- 重複したモジュールが1つの別ファイルに出力される
Dynamic imports で行うこと
- インラインで読み込む