2015-10-01 306 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