2014-12-03 98 views
0

我正面臨着這個問題。當我試圖運行app.js在nodejs中找不到模塊

Error: Cannot find module './protocol/json' 
     at Function.Module._resolveFilename (module.js:338:15) 
     at Function.Module._load (module.js:280:25) 
     at Module.require (module.js:364:17) 
     at require (module.js:380:17) 
     at Object.<anonymous> (C:\xampp\htdocs\project\dev4\nodejs\node_modules\a 
    ws-sdk\lib\core.js:31:11) 
     at Module._compile (module.js:456:26) 
     at Object.Module._extensions..js (module.js:474:10) 
     at Module.load (module.js:356:32) 
     at Function.Module._load (module.js:312:12) 
     at Module.require (module.js:364:17) 

任何想法?

感謝

+1

您能不能請跟我們分享一下app.js文件? /protocol/json.js是由你手寫的嗎?如果是這樣,請確保json.js文件位於協議目錄下。協議目錄必須與app.js所在的級別相同。 – Mithun 2014-12-03 07:45:03

回答

0

如果使用節點WebKit的當前目錄實際上將其中的index.html位於未在有關模塊的當前目錄。如果你沒有使用node-webkit,這僅僅是指向文件的正確位置。

編輯:如果我沒有記錯的話,當前目錄可能不是你的想法取決於Node.js的腳本是如何執行並從那裏,但不要抱我上請;)

在任何情況下,爲了避免可能的文件路徑警告,我建議您使用node.js附帶的path module

只需將此代碼添加到需要protocol/json的模塊中即可。 (請注意,如果協議目錄不是當前目錄,它仍然不會要求它)。

var path = require('path'); 
var json = require(path.resolve(__dirname, './protocol/json'));