以下の内容はhttps://var.blog.jp/archives/79568533.htmlより取得しました。
COMMENT
コメント一覧 (2)
1. ななしさん
2021/11/20 18:06
その方法の問題点はインジェクトされた module1.js や module2.js のなかで、chrome.runtime, chrome.storage などのAPIが使えないことですね。
それと誤記の指摘ですが loader.js は全体が即時実行関数式になっていません。
そのまま実行すると
Uncaught SyntaxError: Illegal return statement loader.js:5
のエラーが出ました。
不躾にすいません。
0
が
しました
2.
[管理人]
2021/11/20 19:13
>>1
ご指摘ありがとうございます
確かにエラーですね
スコープ作るだけだしブロックでもいいかと手抜きしたら return があるので即時関数必須でした
chrome API を使いたいなら loader 側で関数を用意しておいて module 側からのメッセージを受け取り関数を実行して結果を送り返すような作りにすればできると思いますが 結構手間になりそうですね
調べてませんがこの記事からもう 2 年以上経ってるので公式にサポートされたりしてないんでしょうか
0
が
しました