我正在开发一个具有Chrome版本的Firefox插件。为了消除代码重复,他们将共享一些JavaScript库。这些库不是使用Firefox jetpack模块所期望的CommonJS设计编写的。有没有一种很好的方法可以将共享JavaScript导入并使用我的Firefox模块?
优选地,共享代码可以位于我的根目录中的目录中,因为共享库具有其自己的丰富目录结构,并且我不想将其全部填充到数据或lib目录中。
答案 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;
}