Skip to main content
このガイドでは、複数のJavaScriptエントリーポイントと静的アセット管理をサポートする設定に焦点を当てて、Webpackを使用してブラウザ拡張プロジェクトをセットアップする方法を説明します。

ステップ 1: 初期プロジェクトセットアップ

まず、ソースファイル、静的アセット、最終的なバンドル出力を収容するようにプロジェクトを構造化します。プロジェクトディレクトリは次のようになります:

ステップ 2: Node.jsとNPMのセットアップ

Node.jsとNPMがシステムにインストールされていることを確認してください。Node.jsはパッケージエコシステムを実行するために必要で、NPMはプロジェクトの依存関係を管理するために使用されます。

ステップ 3: Webpackとその他の依存関係のインストール

ターミナルでプロジェクトのルートディレクトリに移動し、まだしていない場合は新しいNPMプロジェクトを初期化します:
次に、Webpackと必要なローダーおよびプラグインをインストールします:
  • Webpack はJavaScriptとアセットをバンドルします。
  • Babel は最新のJavaScript機能を使用できるようにします。
  • CopyPlugin はファイルとディレクトリをビルドディレクトリにコピーします。
  • File Loader はファイルのimport/require()をURLに解決し、ファイルを出力ディレクトリに出力します。

ステップ 4: Webpackの設定

プロジェクトのルートに webpack.config.js ファイルを作成します。このファイルはエントリーポイント、出力設定、さまざまなファイルタイプを読み込むためのモジュールルール、および追加機能のためのプラグインを定義する必要があります。以下は、与えられたセットアップでの webpack.config.js の例です:

ステップ 5: マニフェストとHTMLファイルの調整

manifest.json とすべてのHTMLファイルがスクリプトとアセットを正しく参照していることを確認してください。例えば、スクリプトは dist フォルダに出力されるので、パスを適宜更新します。

ステップ 6: package.json にビルドスクリプトを統合

Webpackでプロジェクトをセットアップし、前述の手順で設定した後、npm スクリプトを使用してビルドとウォッチプロセスを自動化したいと思うでしょう。package.json ファイルを開き、scripts オブジェクト内に次のスクリプトを追加します:
各スクリプトの説明:
  • "build": 本番モードで拡張機能をバンドルし、デプロイメント用に出力を最適化します。このモードでは、ミニフィケーションやデッドコードの削除などの最適化が有効になります。
  • "watch": 開発モードでWebpackを実行し、ファイルの変更を監視し、ファイルが変更されると自動的にプロジェクトを再コンパイルします。これは開発中に変更の即時フィードバックを得るのに役立ちます。

ステップ 7: 拡張機能のテストとビルド

本番用に拡張機能をビルドするには、次のコマンドを使用します:
このコマンドは --mode production フラグを使用してWebpackを呼び出し、プロジェクトをデプロイメント用に最適化します。 開発用には、Webpackがファイルを監視し、変更が検出されるたびに再コンパイルすることができます:
これにより、開発プロセスがスムーズになり、変更のたびにプロジェクトを手動で再ビルドする必要がなくなります。

ステップ 7: 拡張機能のテスト

Chromeで拡張機能をテストするには:
  1. Chromeブラウザで chrome://extensions/ に移動します。
  2. 右上の「デベロッパーモード」を有効にします。
  3. 「パッケージ化されていない拡張機能を読み込む」をクリックし、dist フォルダを選択します。
これにより、テストと開発の目的で拡張機能がローカルにインストールされます。