4

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

共享代码最好可以放在我的根目录中的一个目录中,因为共享库有自己丰富的目录结构,我不想把它全部塞进 data 或 lib 目录中。

4

2 回答 2

1

通过 commonjs 可以轻松加载 JS 文件,您只需将所需的函数作为属性添加到导出对象,例如:

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

if (exports !== void 0) {
  exports.foo = foo;
  exports.bar = bar;
}
于 2013-07-22T04:49:46.693 回答
1

如果您正在构建一个基于 xul 的插件并且您有一个想要在其中使用的库,您只需将它放在您的内容目录中并链接到 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 执行此操作,我没有多大帮助。:)

于 2013-07-21T21:07:15.970 回答