was*_*eff 4 javascript import firefox-addon-webextensions chrome-extension-manifest-v3
我正在尝试重用 Service Worker (background.js) 和 content script 之间的某些功能。
在带有 Manifest V3 (104.0b9 Developer Edition) 的 Firefox 中,我一直得到
未捕获的语法错误:导入声明只能出现在模块的顶层
...虽然它在 Chrome 下使用 MV3 (104.0.5112.79) 运行良好。
我尝试了https://javascript.info/import-export中找到的大多数变体,但没有成功。
这是我的示例代码。对于每个实验,我只import
在 中保留一行background.js
。但是错误消息总是相同的。
背景.js:
import {commonApartFunction} from './common_apart.js';
import * from './common.js';
import { commonFunction } from './common.js';
import * as commonObject from './common.js';
import defaultFunction from './default.js';
function commonCaller() {
commonApartFunction();
commonFunction();
defaultFunction();
commonObject.commonFunction();
}
Run Code Online (Sandbox Code Playgroud)
通用.js:
export function commonFunction() {
return 1;
}
Run Code Online (Sandbox Code Playgroud)
common_apart.js:
function commonApartFunction() {
return 2;
}
export {commonApartFunction};
Run Code Online (Sandbox Code Playgroud)
默认.js:
export default function defaultFunction() {
return 3;
}
Run Code Online (Sandbox Code Playgroud)
清单.json:
{
"manifest_version": 3,
"name": "Import-Export expriment",
"version": "0.0.1",
"description": "Import-Export expriment",
"author": "Jane Doe",
"content_scripts": [
{
"matches": [
"https://*.example.com/*"
],
"js": [
"content.js"
],
"run_at": "document_idle"
}
],
"background": {
"type": "module",
"scripts": [
"background.js"
]
},
"browser_specific_settings": {
"gecko": {
"id": "jane@doe.com",
"strict_min_version": "66.0"
}
},
"web_accessible_resources": [
{
"resources": [
"common.js", "common_apart.js", "default.js"
],
"matches": [
"https://*.example.com/*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
有一些注意事项:
background.scripts
)"background": {
"service_worker": "background.js",
"type": "module"
}
Run Code Online (Sandbox Code Playgroud)
Firefox MV3 支持background.scripts
非持久事件页面
"type": "module"
Firefox 后台 Service Worker 中尚未实现后台。
你会得到一个错误,例如
临时附加组件安装期间出现错误。
错误详细信息
扩展无效
读取清单:处理背景时出错:值必须:包含所需的“page”属性、包含所需的“scripts”属性或不包含意外的“type”属性
about:config
,仅用于测试目的,因为目前 API 支持非常有限。
extensions.manifestV3.enabled
extensions.backgroundServiceWorker.enabled
注:根据mixedpuppy提供的信息进行更新
归档时间: |
|
查看次数: |
1637 次 |
最近记录: |