2015-12-21 30 views
1

我有這個基本結構./api/controllers/authenticate.js./api/models/authenticate.js我想讓我的控制器訪問模型文件夾中的authenticate.js,如此處所示。模型文件夾中找不到模塊

控制器/ authenticate.js

var app  = require("express"); 
var router = app.Router(); 

var model = require("./api/models/authenticate.js"); 

router.get('/login',function(req,res){ 
    res.send(model.authenticate()); 
}); 

module.exports = router; 

型號/ authenticate.js

var authenticate = function() { 
    return "You should see this module"; 
} 

module.exports = authenticate; 

但是我得到一個無法找到的模型文件authenticate.js模塊。我錯過了什麼?

+1

var model = require(「./../ models/authenticate.js」); –

+0

和res.send(model()); –

+0

此外,我總是使用我的絕對路徑的路徑模塊。 'var absPath = path.join(__ dirname,'../ models/authenticate.js');'。最後,只要解決了問題就沒有關係,但是當你缺少某些東西時,它可以更容易地調試路徑。 – Quy

回答

0

控制器/ authenticate.js

var app  = require("express"); 
var router = app.Router(); 

var model = require("../models/authenticate.js"); 

router.get('/login',function(req,res){ 
res.send(model.authenticate()); 
}); 

module.exports = router; 

變種模型需要=( 「./ API /模型/ authenticate.js」);是錯誤的,因爲您已經在/ api/controllers /目錄中,並且您正在嘗試訪問模型目錄,因此您必須使用../後退一步,然後輸入模型。您的案例試圖訪問控制器目錄中models目錄內的目錄

+0

解釋你的答案。[來自評論](http://stackoverflow.com/review/low-quality-posts/10634473)。 – Alex

+0

我明白..什麼。意思?從我認爲它引用根目錄。 –

+0

..引用父目錄和。引用當前目錄。 –