0
事先道歉,我確信在一個明顯的線程中有一個簡單的答案,我只是沒有找到它/理解它。有Helper文件的節點模塊在安裝時會導致'找不到模塊'錯誤
鑑於在全局node_modules/Jimmy/index.js
文件中實現的node.js模塊Jimmy
;我有一些'幫助'功能,我把它們放在一個單獨的Helper.js
文件中,全部放在同一個目錄中。偉大的作品,當我運行一個示例程序require
從同一目錄荷蘭國際集團,但運行,從其他地方相同的樣本程序,它無法加載支持Helper.js文件:
Error: Cannot find module 'Helper'
有人可以解釋或指向我以解釋爲什麼這不起作用,我應該怎麼做才能使它工作?
編輯:笨到只演示問題。包括Swagger-客戶端依賴關係以防萬一。
Node Module在目錄~/Jimmy
中被稱爲Jimmy。在~/Jimmy/index.js
定義
模塊類:在~/Jimmy/Helper.js
定義
var Swagger = require('swagger-client');
var Helper = require('Helper');
function Jimmy (host, username, password) {
this._host = host;
this._hdr = {
'Authorization': 'Basic ' + new Buffer(username+':'+password).toString('base64') ,
'Content-Type': 'application/json'
};
}
Jimmy.prototype.getEntity = function(entity) {
return Helper.get(this._host, this._hdr, entity);
}
module.exports =
{
Jimmy: Jimmy
};
模塊的輔助功能:
var Swagger = require('swagger-client');
function get(host, hdr, entity) {
var url = 'http://'+host+'/config/' + entity;
var request = {
url : url,
headers: hdr
};
return Swagger.http(request)
.then((res) => { return res.body; });
}
module.exports =
{
get : get
};
與樣本測試中~/test.js
:
var jimmy = require('Jimmy');
var j = new jimmy.Jimmy('192.168.56.151:8080', 'admin', 'admin');
j.getEntity('joey')
.then((e) => {
console.log(JSON.stringify(e, null, 2));
})
.catch((err) => { console.log('ERR: ' + err); });
能否請您發佈您的代碼,所以我們可以看到
在我的情況下從我模塊的index.js
我只是想的Helper.js
本地版本,我想所以你試過了什麼? – webbm