是否可以在我的Firefox Addon中使用像“oauth”这样的NodeJS模块?

时间:2016-04-05 20:16:50

标签: javascript node.js firefox oauth firefox-addon

这是我第一次编写Firefox插件。对于我正在尝试编写的插件,我需要调用Twitter's APIs。为了做到这一点,我需要一个oauth库来开始。

我发现npm包存储库中有already exists such a library。看看Firefox插件是如何用Javascript编写的,我决定尝试使用它。不幸的是,似乎我不能通过运行npm install oauth来简单地使用NodeJS中的模块。

Message: Module `crypto` is not found at resource://gre/modules/commonjs/crypto.js

但是,有没有其他方法可以使用这些模块,考虑到它仍然是用Javascript编写的?我希望不必从头开始编写一个oauth库来启动我的插件。

为了澄清,我正在编写插件代码,而不是内容脚本。我希望插件能够调用Twitter API。

我目前的代码非常简单。我有一个班级twitter.js

var OAuth = require("oauth");
var OAuth2 = OAuth.OAuth2;

var Twitter = function() {

};

module.exports = Twitter;

在我的index.js中,我只需添加一些代码:

var Twitter = require("./twitter");
var twitter = new Twitter();

3 个答案:

答案 0 :(得分:1)

这取决于模块,但通常是可能的。 Browserify可以轻松转换节点模块,以便在浏览器中使用。

答案 1 :(得分:1)

你可以,但你必须browserify并填充所有内容。而且没有文件。你应该浏览一些github repos来看看其他开发者是如何做的。

在NPM上,为Firefox插件设计的模块很少,它们被标记为jetpackGoogle OAuth有一个,如果你需要编写自己的模块,可能会有所帮助。

答案 2 :(得分:1)

使用JPM插件sdk:

完全使用Twitter OAuth登录

https://github.com/Noitidart/jpmOAuth/

所需的依赖项是用于SHA1-HAMC加密的CryptoJS文件。

安装该插件。它会完美地运作。

自定义时,您必须更新gOauth.twittercallbackkey的全局变量secret条目。你可以通过twitter上的管理应用获得这个:

详细信息页面,这是您获取keycallback的地方 - 对我来说,网址是 - https://apps.twitter.com/app/12197899

然后从“密钥和访问令牌”页面获取secret - 对我来说,网址是 - https://apps.twitter.com/app/12197899/keys