Skip to content
Latchkey

エントリーポイントとは?ビルドが始まる場所

エントリーポイントとは、bundlerが依存関係グラフを構築する際の起点となるファイルです。そこから到達可能なものすべてがbuildに含まれます。

bundlerはどこかから始めなければなりません。エントリーポイントはその起点となるファイルで、通常はアプリのルートやページのスクリプトです。そこからbundlerはimportを外側へたどり、buildに必要なすべてのモジュールを発見します。エントリーポイントを理解すれば、なぜ一部のコードがbundleに含まれ、一部が含まれないのか、そしてなぜアプリが複数のエントリーを持ち得るのかが分かります。

エントリーがビルドをどう定義するか

bundlerはエントリーをグラフのルートとして扱います。エントリーから直接的または推移的にimportされたモジュールはすべて含まれます。エントリーから到達可能なものが何もimportしないコードは、単にbundleされません。

複数のエントリーポイント

プロジェクトは複数のエントリーを宣言できます。たとえばページごとに1つ、あるいはアプリ用に1つと管理パネル用に1つといった具合です。各エントリーは独自の出力を生成し、bundlerはそれらにまたがる共有コードを共通chunkにまとめられます。

エントリーと出力

  • エントリーは、buildが起点とする入力ファイルです。
  • 出力は、生成されたbundleまたはchunkです。
  • 1つのエントリーは、splittingによって複数の出力ファイルを生成できます。

ライブラリのエントリーポイント

公開されるパッケージでは、エントリーは利用者がimportするものです。package.jsonのmain、module、exportsフィールドがこれらのエントリーを宣言し、ツールが正しいファイルを選べるようにします。だからこそ、設定を誤ったエントリーは全員に対してライブラリを壊してしまうことがあります。

CI/CDにおけるエントリーポイント

設定されたエントリーは、CIのbuildが何を生成し、いくつのartifactが出荷されるかを決めます。エントリーを追加または削除すると出力セットが変わるため、pipelineのbuild出力チェックによって、deploy前に期待されるファイルが生成されたことを確認できます。

重要なポイント

  • エントリーポイントは、bundlerが依存関係グラフの解決を開始する場所です。
  • 複数のエントリーは、共有chunkを持つ複数の出力を生成します。
  • CIの出力チェックは、期待されるartifactが生成されたことを確認します。

関連ガイド