firefox-addon – 是否可以在Firefox附加组件中使用第三方js库,如下划线?

我正在使用Firefox Add-On SDK将Chrome扩展程序移植到Firefox.在Chrome中,加载第三方库(如Underscore或Backbone)非常简单.在我的特定情况下,我使用jQuery,Underscore和Backbone来定义与跨域REST API通信的模型.

我不清楚你如何在Firefox中做类似的事情.从我可以看到main.js直接对应Chrome的背景页面,但它没有出现加载js文件的方法.

我错过了什么吗?

最佳答案 附加SDK支持CommonJS模块sysem,nodejs也使用相同的模块

https://github.com/mozilla/addon-sdk/tree/master/app-extension

Underscore支持commonjs模块格式&那里可以轻松装载
https://github.com/documentcloud/underscore/blob/master/underscore.js#L54-L65

你只需要在main.js旁边删除下划线并加载如下:

var _ = require("./underscore")

我相信骨干也可以像人们使用它一样加载
在nodejs上.

但它不适用于jQuery,那是因为附加SDK模块的上下文
run与使用DOM的典型Web页面上下文不同,这是jQuery的设计
跟…共事.

现在,如果你想做跨域请求,SDK会附带一个模块来执行此操作:
https://addons.mozilla.org/en-US/developers/docs/sdk/latest/packages/addon-kit/request.html
还有另一个低级XHR模块,您可以使用它:
https://addons.mozilla.org/en-US/developers/docs/sdk/latest/packages/api-utils/xhr.html

因此,如果您只是想编写模型并与REST API交谈,那么它应该是非常简单的,我是
不确定jQuery在你的用例中的作用是什么.它意味着您想要的DOM和UI
显示.如果是这样,SDK中有几个模块可以让你为它添加自定义UI
firefox,你可以找到有关该主题的有用教程:
https://addons.mozilla.org/en-US/developers/docs/sdk/latest/dev-guide/tutorials/index.html

点赞