エントリーポイントとは
モジュールバンドラーでバンドルする際の、解析のスタート地点のファイル。
エントリーポイントを起点として、そのファイルでimport
しているモジュールを順番に辿っていく。
単一のエントリーポイント => 単一の出力先
entry
プロパティを指定しない場合、デフォルトでは./src/index.js
ファイルを見る。
=> エントリーポイントが./src/index.js
であれば、entry
プロパティを省略できる。
ファイル名やパスが違う場合はentry
プロパティで、webpack.config.js
ファイルからの相対パスを以下のように文字列で指定することができる。
webpack.config.js
module.exports = {
entry: './src/hoge.js'
};
上記は以下の短縮系。エントリーポイントが1つであれば上記で十分。
webpack.config.js
module.exports = {
entry: {
main: './src/hoge.js'
}
};
出力先のファイル名を変えたい場合は、main
をそのファイル名にする。
複数のエントリーポイント => 単一の出力先
エントリーポイントが複数ある場合は、以下のように配列で渡すとバンドルファイルを1つにまとめることができる
webpack.config.js
module.exports = {
entry: ['./src/hoge.js', './src/fuga.js']
};
実行するとdist/main.js
にまとめられている。
複数のエントリーポイント => 複数の出力先
エントリーポイントが複数あり、バンドルファイルもそれぞれ分けたい場合は、以下のように記述する。
webpack.config.js
module.exports = {
entry: {
app: './src/app.js',
adminApp: './src/adminApp.js'
}
};
バンドルすると以下のようになる。
こちらも同様に配列で渡すことが可能。