javascript - 如何在node.js中引入插件模块?

标签 javascript node.js oauth-2.0 mocha.js

我正在使用 Mocha 框架和 SuperAgent 测试服务器(不是我完成的)模块,但是我需要测试服务器 Ouath 协议(protocol)。 我找到superagent-oauth模块以便发出签名请求。

但是,当我需要该模块时,出现以下错误

TypeError: Object.keys called on non-object

我的代码遵循 superagent-oauth 存储库中的自述文件,它是

var superagent = require('superagent');
var log = require('./log.js');
var Oauth = require('node-oauth');
var oauth = new Oauth({..});

require('superagent-oauth')(superagent);

然后,在运行测试时,我得到了 TypeError: Object.keys Called on non-object。

当使用 super 代理时,我只是这样做

var superagent = require('superagent');
agent = superagent.agent();

但我不知道如何使用/需要 superagent-oauth 模块。那么正确的做法是什么呢? 谢谢

添加了跟踪

2) Login 'Username:Password' test: POST with a valid login logins into the AM with a valid login: TypeError: Object.keys called on non-object at Function.keys (native) at Request.query (/home/maldo/testingAM/node_modules/superagent-oauth/superagent-oauth.js:22:23) at Context. (/home/maldo/testingAM/loginUserPass.js:74:6) at Test.Runnable.run (/home/maldo/node_modules/mocha/lib/runnable.js:196:15) at Runner.runTest (/home/maldo/node_modules/mocha/lib/runner.js:343:10) at Runner.runTests.next (/home/maldo/node_modules/mocha/lib/runner.js:389:12) at next (/home/maldo/node_modules/mocha/lib/runner.js:269:14) at Runner.hooks (/home/maldo/node_modules/mocha/lib/runner.js:278:7) at next (/home/maldo/node_modules/mocha/lib/runner.js:226:23) at Runner.hook (/home/maldo/node_modules/mocha/lib/runner.js:246:5) at process.startup.processNextTick.process._tickCallback (node.js:244:9)

我在文件 loginUserPass 中多次得到此跟踪,总是在代理的 .query() 语句中。当我在 OauthAM.js 中添加 superagent-ouath require 时,就会发生这种情况。

最佳答案

您是否已完成 npm install 以从 npm 检索所有模块依赖项?看起来像 superagent 的依赖项也许不可用?

使用 npm install superagent --save 安装新依赖项(并放入 package.json 文件中)。

这样您就可以获得 superagent 模块所需的所有依赖项。

关于javascript - 如何在node.js中引入插件模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14646373/

相关文章:

javascript - 带有 id 参数的 AngularJS 路由以白页结束

JavaScript。按属性 x 对对象数组进行排序

javascript - 为导入的组件添加样式是React

Javascript 配置文件,包含所有用户操作的业务逻辑

javascript - 如何从用户nodejs获取输入

node.js - nodejs setTimeout内存泄漏?

json - 如何从 MongoDB + Node.js + Mongoose 获取修改后的 json 输出

node.js - 来自重定向 URL 的 URL 参数

oauth - 谷歌 OAuth : Access Not Configured

c# - 在当前HttpContext session 中设置新的access_token