[英]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.