プロジェクトセットアップ
基本的なブラウザ拡張機能の構造から始めます:Mellowtelバンドルの取得
拡張機能用のmellowtel.jsファイルを取得するには、2つのオプションがあります:
オプション1: 事前バンドルファイルを使用
最も簡単に始める方法は、mellowtel-bundledリポジトリから事前バンドルされたmellowtel.jsファイルを使用することです。
- mellowtel-bundledリポジトリにアクセス
mellowtel.jsファイルをダウンロード- それを拡張機能ディレクトリにコピー
オプション2: 自分でバンドルを生成
自分でバンドルを生成したい場合は、次の手順に従ってください:一時的なバンドリングディレクトリを作成
Mellowtelをインストールし、バンドルを生成するための一時ディレクトリを作成します:esbuildでMellowtelをバンドル
mellowtel-bundlingディレクトリ内から、サービスワーカーとコンテンツスクリプトの両方で動作する単一のバンドルを作成します:
node_modules/mellowtel/dist/index.jsからMellowtelのソースを取得- すべての依存関係を単一ファイルにバンドル
- IIFE形式を使用して、普遍的な互換性を持たせるためのグローバル名を使用
- デフォルトエクスポートをグローバルに利用可能にするフッターを追加
- ブラウザ環境向けに最適化し、出力を最小化
- バンドリングディレクトリに
mellowtel.jsを作成
バンドルを拡張機能にコピー
esbuildコマンドを実行した後、生成されたファイルを拡張機能ディレクトリにコピーします:マニフェストの設定(どちらのオプションでも)
上記のどちらのオプションを選んだ場合でも、manifest.jsonを設定してコンテンツスクリプトにMellowtelバンドルを含めます:
"type": "module"フィールドは、サービスワーカーでのESモジュールインポートを有効にします。- コンテンツスクリプトの配列では、
mellowtel.jsはcontent_script.jsより前にロードされる必要があります。これにより、コンテンツスクリプトが実行されるときにMellowtelのグローバル変数が利用可能になります。
拡張機能でMellowtelを使用する
サービスワーカー(background.js)では、バンドルファイルをインポートします:拡張機能のテスト
拡張機能をテストするには:- Chromeで
chrome://extensions/にアクセス(他のブラウザでも同様) - 「デベロッパーモード」を有効にする
- 「パッケージ化されていない拡張機能を読み込む」をクリックし、拡張機能フォルダを選択