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