2014-12-03 108 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')); 
相关问题