Node.js reference error: index is not defined

Node.js reference error: index is not defined

我正在构建一个聊天应用程序,这个 index.js 文件位于 "routes" 目录中。错误在第一行。 "views"目录下还有一个index.jade文件。

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');
};

你做了两次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');
}

当你将一个函数赋给一个变量,或者你立即调用一个函数,你就把它从一个语句变成了一个表达式。这会导致函数提升不会发生。您可以通过不将函数 index 分配给 exports.index 来解决此问题,以恢复提升行为:

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

之后你仍然会有问题,因为 logonmessage 没有定义(你已经定义了 loginchat)。