【问题标题】:firefox extension breaks when using export?使用导出时Firefox扩展中断?
【发布时间】:2022-10-17 18:30:10
【问题描述】:

我正在为firefox开发这个插件,我遇到了一些我无法弄清楚如何解决的问题:

在 file1.js 上,这是“主脚本”,我运行以下代码进行测试:

document.body.style.border = "5px solid red";
console.log("extension ran");
alert("test")

一切都很好。现在,我想从我在同一个文件夹中的 file2.js 文件中运行一个函数,如下所示:

import {createCheckBox} from "./file2.js"
createCheckBox();

在 file2.js 上,函数的实现如下:

export function createCheckBox(){
   //code
}

但是,当我添加该导入时,扩展上没有任何工作,甚至以前工作的警报和控制台日志都没有,所以我知道我错过了一些东西并且导出以某种方式破坏了扩展,但我不知道为什么或如何要解决这个问题。

任何帮助表示赞赏!

【问题讨论】:

    标签: javascript firefox-addon


    【解决方案1】:

    最简单的方法是在the manifest 中列出您的所有content scripts,如下所示:

    "content_scripts": [
      {
        matches: [...],
        js: ['file2.js', 'file1.js']
      }
    ]
    

    这样file2.js 中的所有功能都可以在file1.js 中使用,无需任何导入。你也不需要export他们。

    来自documentation:

    文件按给定的顺序注入。这意味着,例如,如果您在此处包含 jQuery,后跟另一个内容脚本,如下所示:

    "js": ["jquery.js", "my-content-script.js"]

    然后,“my-content-script.js”就可以使用jQuery了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-10
      • 2021-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-07
      相关资源
      最近更新 更多