Chrome扩展程序后台脚本分成多个脚本-manifest v3

Pre*_*vic 12 google-chrome-extension

在manifest v3之前的Google Chrome扩展中,我可以将background.js分成多个脚本。要加载所有脚本以在background.js中可见,我只需要将它们放入清单中的数组中,如下所示:

    "background": {
    "scripts": ["helpers/countHelper.js", "helpers/networkHelper.js", "background/main.js"],
}
Run Code Online (Sandbox Code Playgroud)

使用上述语法,所有脚本将合并到一个文件中。

现在,在如何使用清单 v3 的文档中,他们写道:

将manifest.json 中的background.page 或background.scripts 替换为background.service_worker。请注意,service_worker 字段采用字符串,而不是字符串数组。

导致manifest中的后台不能带多个脚本,如何将后台脚本分成多个脚本。据我所知,导入语法也是不允许的。

Rob*_*bbi 12

使用上述语法,所有脚本将合并到一个文件中。

这不是真的,但我们飞过去吧……

您可以使用importScript,但不能在清单中使用。看看这个模板:

/* V3 manifest.json */
"background": {
    "service_worker": "worker_wrapper.js"
},

/* worker_wrapper.js */
try {
    importScripts("helpers/countHelper.js", "helpers/networkHelper.js", "background/main.js");
} catch (e) {
    console.log(e);
}
Run Code Online (Sandbox Code Playgroud)

请记住,SW 文件必须放置在根文件夹中,而其他脚本可以放在其他文件夹中

  • 我收到错误 TypeError: 无法在“WorkerGlobalScope”上执行“importScripts”:模块脚本不支持 importScripts()。在背景.ts:3:5 (4认同)

归档时间:

查看次数:

11205 次

最近记录:

2 年,6 月 前