ホームページ  >  に質問  >  本文

Chrome 拡張機能: コンテンツ スクリプトで ES6 モジュールをインポートする

<p><strong>Chrome 61</strong> では、JavaScript モジュールのサポートが追加されました。現在Chrome 63を実行しています。 </p> <p><code>import</code>/<code>export</code> 構文を使用して、Chrome 拡張機能コンテンツ スクリプトでモジュールを使用しようとしています。 </p> <p>In<strong><code>manifest.json</code></strong>:</p> <pre class="brush:php;toolbar:false;">"content_scripts": [ { "js": [ 「コンテンツ.js」 ]、 } ]</pre> <p>In<strong><code>my-script.js</code></strong> (<strong><code>content.js</code></strong> と同じディレクトリ):</p> <pre class="brush:php;toolbar:false;">'厳密に使用'; const injectFunction = () => window.alert('hello world'); デフォルトの injectFunction;</pre> をエクスポートします。 <p>In<strong><code>content.js</code></strong>:</p> <pre class="brush:php;toolbar:false;">'厳密に使用'; './my-script.js' から injectFunction をインポートします。 injectFunction();</pre> <p>次のエラーが発生します:<strong><code>キャッチされない構文エラー:予期しない識別子</code></strong></p> <p>インポート構文を <code>import {injectFunction} from './my-script.js';</code> に変更すると、次のエラーが発生します: <strong><code>Uncaught SyntaxError : 予期しないトークン {</code></strong>< /p> </p><p>Chrome 拡張機能の <strong><code>content.js</code></strong> でこの構文を使用すると問題はありますか (HTML では <を使用する必要があるため) ;コード> <script type="module" src="script.js "></code> 構文)、それとも何か間違っているのでしょうか? Google が拡張機能のサポートを無視しているのは奇妙に思えます。 </p></script> </code></p>
P粉141035089P粉141035089392日前519

全員に返信(2)返信します

  • P粉739079318

    P粉7390793182023-08-28 14:20:34

    動的 import()< /code> 関数を使用します。