DX技術用語辞典

by Arsaga Partners

webpack

読み方: うぇぶぱっく

webpackとは

JavaScriptアプリケーション用のモジュールバンドラーの1つです。
モジュールバンドラーとは作成したアプリケーションのモジュール(ファイル)を1つに束ねる機能のことです。フロントエンドで使用するためのJavaScriptのライブラリ、CSS、画像など圧縮し、まとめてくれます。

 

そもそもモジュールバンドラーとは

  • 依存関係(※)のあるJavaScriptのモジュールを解決
    従来のJavaScriptの依存関係は、htmlにscriptを記述する必要があり、複雑になりがちでした。webpackでは、依存関係を自動的に解決してくれます。

     

    ※ある作成したプログラムを動作させる際に、動作させるために必要な別のプログラムがあることです。例えば、dateオブジェクトを使用してプログラムを書いた時、そのプログラムはdateオブジェクトに依存している(dateオブジェクトを利用しないと実現できない)ことになります。

  •  

  • 1つのファイルにまとめることで通信回数を抑える
    従来のJavaScriptは、モジュール(ファイル)が増えると通信回数も増えてしまいました。webpackでは、モジュールを1つのファイルにまとめているため、通信回数を少なくすることができます。

 

webpackのメリット

今までモジュールバンドラーとして、gulpやBrowserifyなど様々なツールがありましが、これらにはビルドが遅い、設定が面倒などの欠点がありました。そんな問題点を解消したのがwebpackです。

 

Javascriptの他にもCSSや画像も圧縮することができるので、リクエストするファイルを減らしてくれます。結果、アプリケーションのパフォーマンス向上に繋がります。

 

webpack関連の歴史

2009年頃:バックエンドでもJavaScriptを書きたい!という需要が生まれ、Node.jsが作成された。

 

2012年頃:ブラウザでもモジュールが使えるように!とwebpackがリリース。

 

2015年:webpackがモジュールバンドラーとしてパフォーマンスがいいと評価され流行。

 

現場の声

JavaScriptのファイルを分割してもサイトがスムーズに動くのは、webpackのおかげだなーと改めて思いました。ビルドする時にCSS、画像ファイル等の名前を毎回変えてくれるので、キャッシュが残って変更が反映されない!のようなトラブルも無いので、スムーズな開発ができます。

 

Nuxt.jsのような主要のフレームワークでは、webpackが標準搭載されているので、設定方法がより簡単になります。そのため、開発経験が浅いエンジニアでもwebpack(モジュールバンドル)が触れる時代になったと言えるでしょう。

 

 

関連用語

Node.js
バンドル
ES Modules
Glup

 

 

<執筆・監修>
アルサーガパートナーズ株式会社 DX技術用語集制作チーム フロントdivision