繁体   English   中英

如何在node.js中要求插件模块?

[英]How to require plug-in module in node.js?

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

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

TypeError:在非对象上调用了Object.keys

我的代码遵循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。

当使用超级代理时,我只是做

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

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

添加了痕迹

2)登录“ Username:Password”测试:使用有效登录名的POST使用有效登录名登录AM:TypeError:在Request.query(/ home / maldo)的Function.keys(本机)上的非对象上调用Object.keys /testingAM/node_modules/superagent-oauth/superagent-oauth.js:22:23)。 (/home/maldo/testingAM/loginUserPass.js:74:6)在Test.Runnable.run(/home/maldo/node_modules/mocha/lib/runnable.js:196:15)在Runner.runTest(/ home /在Runner.runTests.next(/home/maldo/node_modules/mocha/lib/runner.js:389:12)的maldo / node_modules / mocha / lib / runner.js:343:10)在下一个(/ home / maldo / Runner.hooks(/home/maldo/node_modules/mocha/lib/runner.js:278:7)的下一节点(/ home / maldo / node_modules / mocha /)的node_modules / mocha / lib / runner.js:269:14)在Runner.hook(/home/maldo/node_modules/mocha/lib/runner.js:246:5)处的lib / runner.js:226:23)在process.startup.processNextTick.process._tickCallback(node.js:244)处:9)

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

您是否已完成npm install来从npm检索所有模块依赖项? 似乎超级代理的依赖项可能不可用?

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

这样,您将获得superagent模块所需的所有依赖项。

在使用npm init创建的新项目上安装誓言时遇到同样的错误消息。 这个GitHub问题讨论建议package.json下行添加到该项目(即您要创建的项目,而不是您要安装的项目)的package.json文件中:

 "dependencies": {}

这为我解决了。 当然,您提到在package.json中安装了依赖项,因此对于可能搜索错误消息的其他人来说,此答案更多。

https://github.com/stephenplusplus/grunt-bower-install/issues/9

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM