Javascript 插件-无法在firefox插件的content\ u脚本中添加模块
下面是我正在开发的插件的项目结构Javascript 插件-无法在firefox插件的content\ u脚本中添加模块,javascript,google-chrome-extension,ecmascript-6,firefox-addon,Javascript,Google Chrome Extension,Ecmascript 6,Firefox Addon,下面是我正在开发的插件的项目结构 . ├── sc_back.js ├── sc_cont.js ├── icons │ ├── addon │ │ ├── icon-48.png │ │ └── icon-96.png │ └── context │ ├── d-16.png │ ├── d-32.png │ ├── e-16.png │ └── e-32.png ├── manifest.json ├── modules
.
├── sc_back.js
├── sc_cont.js
├── icons
│ ├── addon
│ │ ├── icon-48.png
│ │ └── icon-96.png
│ └── context
│ ├── d-16.png
│ ├── d-32.png
│ ├── e-16.png
│ └── e-32.png
├── manifest.json
├── modules
│ └── sc_de.js
└── popup
├── action.css
├── action.html
└── action.js
在内容脚本sc_cont.JS
和popup/action.JS
中的弹出操作脚本之间有一些多余的JS代码,因此我决定将多余的部分移动到modules/sc_de.JS
的单独文件夹中
我在我的内容脚本和模块脚本中添加了以下行:
//sc_cont.js
import { xyz } from './modules/sc_de.js'
//modules/sc_de.js
export const xyz = {...}
我尝试在content_脚本数组中添加manifest.json
中的模块脚本,但它不起作用。尚未尝试使用web\u可访问的\u资源,因为这不应该从DOM访问
问题是,当我启动加载项调试器时,它显示以下错误:
SyntaxError:导入声明只能出现在模块的顶层
SyntaxError:导出声明只能出现在模块的顶层
如何解决这些错误以使插件正常工作?另外,如果出现
popup/action.js
,我还需要做什么特殊的事情吗?AFAIK模块在内容脚本中不受支持。可能是因为这些页面不像有自己URL的扩展页面,只是一堆脚本“侧载”在网页上。此外,我还不确定FF是否实现了对扩展页面的模块支持。Chrome确实做到了:@wOxxOm那么我该如何做到这一点呢?如果没有添加模块的方法,是否有解决方法?嗯,您可以使用+requireJS。