ReactとWebpackを使用してChrome拡張機能を開発しています。Webpackとプログラムで注入されたコンテンツスクリプト
このプロジェクトでは、異なるモジュールがプログラムでコンテンツスクリプトを挿入します(chrome.tabs.executeScript(null, {file: 'content-script-file.js'})
)。
私はすべてを束ねるためにWebpackを使用しているので、これは問題になります。基本的に、バックグラウンドスクリプトはいくつかのモジュールをロードしています。これらのモジュールはすべて、特定の状況下でプログラムでコンテンツスクリプトを注入するように構成されています。
しかし、これらのコンテンツスクリプトがバンドルされたアプリケーションでどのように「検出」されるかはわかりません。彼らは明示的にインポートされておらず、ちょうどexecuteScript
の呼び出しで参照されています。
同時に、コンテンツスクリプトはReactを使用するため、Webpackのbabel-loader
を通過する必要があります。
アイデア?
基本的には、おそらくバベルスクリプト(恐らく非常に大きなもの)を注入し、実際のコンテンツスクリプト(おそらく、バベルをトリガーするコード)を注入するラッパー関数を作らなければならないでしょう...オーバーヘッドを恐れないでしょうか?大きすぎる? – wOxxOm
@wOxxOm:私は正直言ってこのような肥大を避けたいですが、私はWebpackには新しいので、私がそれを防ぐために何ができるのか分かりません。 – damd
効率的なアプローチは、プリコンパイルされたスクリプトを挿入することです。プリコンパイルするスクリプトのリストを手動で定義しなければならないと思うが、私はwebpackの専門家ではない。 – wOxxOm