簡體   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