将Firefox插件和Chrome插件之间的共享代码导入Firefox

时间:2013-07-21 18:10:00

标签: javascript google-chrome-extension firefox-addon firefox-addon-sdk

我正在开发一个具有Chrome版本的Firefox插件。为了消除代码重复,他们将共享一些JavaScript库。这些库不是使用Firefox jetpack模块所期望的CommonJS设计编写的。有没有一种很好的方法可以将共享JavaScript导入并使用我的Firefox模块?

优选地,共享代码可以位于我的根目录中的目录中,因为共享库具有其自己的丰富目录结构,并且我不想将其全部填充到数据或lib目录中。

2 个答案:

答案 0 :(得分:1)

如果您正在构建xul based addon并且您有一个要在其中使用的库,则只需将其放在内容目录中并链接到xul文件中的库文件。

 - content\
   - yourAddon.xul
   - yourAddon.js
   - yourLibDirectory\
      - libfile1.js

然后,在yourAddon.xul上,将其包含在标题中:

<script type="application/x-javascript" src="chrome://yourExtension/content/yourAddon.js"/>
<script type="application/x-javascript" src="chrome://yourExtension/content/yourLibDirectory/libfile1.js"/>

如果你使用addon-sdk,我没什么帮助。 :)

答案 1 :(得分:1)

通过commonjs可以很容易地加载JS文件,你只需要将作为属性所需的函数添加到导出对象,例如:

function foo() {}
function bar() {}

if (exports !== void 0) {
  exports.foo = foo;
  exports.bar = bar;
}
相关问题