嗨,我见过类似的错误,但没有一个适用于这种情况。我正在阅读 Getting Mean 这本书,但将 Express 3 上的所有课程应用到 Express 4 应用程序中。
在 app.js 中
app.set('views', path.join(__dirname, 'app_server/views'));
//index.jade is located here and confirmed to work before moving controller
...
require('./routes')(app);
//Instead of app.use('/', routes);
在路线/index.js
var ctrl = require('../app_server/controllers/main');
module.exports = function (app) {
app.get('/', ctrl.index);
};
在 app_server/controllers/main.js
var express = require('express');
var router = express.Router();
router.get('/', function(req, res, next) {
res.render('index', { title: 'Loc8r' });
});
// /* Also tried */
// exports.index = function(req, res){
// res.render('index', { title: 'Express' });
// };
运行应用程序会在 res.render('index', { title: 'Loc8r' }); 上产生“错误:Route.get() 需要回调函数但得到 [object Undefined]” 线。
一直在这几个小时。非常感谢您的帮助。