2015-05-04 147 views
0

我正在構建一個聊天應用程序,並且此index.js文件位於「routes」目錄中。錯誤在第一行。 「views」目錄中還有一個index.jade文件。Node.js參考錯誤:索引未定義

module.exports.index = index; 
module.exports.logon = logon; 
module.exports.message = message; 

exports.index = function index(req, res){ 
    res.render('index'); 
}; 

function logon(req, res){ 
    res.send('Logon'); 
}; 

function message(req, res){ 
    res.send('Message'); 
}; 
+0

您永遠不會創建一個名爲index的變量。 –

回答

2

你正在做exports兩次,也沒有可變index

exports.index = function index(req, res){ 
    res.render('index'); 
}; 

module.exports.index = index; 

嘗試使用

module.exports.index = index; 

var index = function(req,res) { 
    res.render('index'); 
} 
2

當你將一個函數的變量,或者你馬上調用一個函數,你把它從一個語句到表達。這導致函數提升不會發生。您可以通過不分配功能indexexports.index解決此問題,以恢復起重行爲:

function index(req, res){ 
    res.render('index'); 
}; 

你仍然有問題後,由於logonmessage沒有定義(您已經定義login和改爲chat)。

+0

謝謝。我正在學習一個教程。在函數索引(req,res){res.send('Index'); };' 然後它說改變索引函數爲 'exports.index = function index(req,res)res.render('index'); };' 在views目錄中創建index.ejs文件後,我創建了一個index.jade文件。 – Grafics