2015-05-04 149 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