2015-10-01 97 views
1

我有以下文件夹结构。找不到模块(自定义模块)

enter image description here

我试图访问我的自定义模块(core_programming/Constants.js)的其他文件。

我可以访问它在routes/index.js不使用下面的代码的任何问题。

var Constants = require('../core_programming/Constants.js'); 

但是,当我尝试使用以下语句访问core_programming/User.js时出现错误。

var Constants = require('Constants.js'); 

它提供了以下错误:

module.js:338 
throw err; 
^ 

Error: Cannot find module 'Constants.js' 
    at Function.Module._resolveFilename (module.js:336:15) 
    at Function.Module._load (module.js:286:25) 
    at Module.require (module.js:365:17) 
    at require (module.js:384:17) 
    at Object.<anonymous> (D:\nodeJsProjects\AutomateBuild\core_programming\User.js:3:18) 
    at Module._compile (module.js:434:26) 
    at Object.Module._extensions..js (module.js:452:10) 
    at Module.load (module.js:355:32) 
    at Function.Module._load (module.js:310:12) 
    at Module.require (module.js:365:17) 
    at require (module.js:384:17) 
1 Oct 11:56:35 - [nodemon] app crashed - waiting for file changes before starting... 

我已经尝试了不同的方式来定义路径require../core_programming/Constants.js./core_programming/Constants.js但没有任何工程了。

从同一目录加载自定义模块的正确方法是什么?

而且,如果有帮助,我在Windows上。

回答

6

尝试使用:

var Constants = require('./Constants.js'); 

这将迫使节点找出你正在寻找node_modules相对路径,而不是包装。

在一个侧面说明,窗户路径使用\,所以考虑尝试它,以及:

var Constants = require('.\Constants.js'); 
+2

哇感谢,它正斜杠'/'工作。 – shashwat