У меня возникли проблемы с этим сценариемПроблема при маршрутизации страницы
// App.js (shrink)
var controller = require('./controller');
app.get('/', controller.index);
app.get('/home', controller.home);
// /controller/index.js
var meta = {
title: 'index',
description: ''
}
exports.index = function(req,res){
res.render('index', {
meta: meta
});
}
// /controller/home.js
var meta = {
title: 'glibet',
description: ''
}
exports.home = function(req,res){
res.render('home', {
meta: meta
});
}
его возвращение мне эту ошибку: «Ошибка: Route.get() требует функции обратного вызова, но есть [объект Не определено]»
Как ни странно, он работает нормально, если я даю app.get ('/', controller.index); в одиночку без дома маршрута
Я пробовал пару исправлений/альтернатив в коде сохранения системы его способ вызова контроллера/файлов, но это, кажется, не исправить код, я буду действительно ценят любую помощь.
PS: Я пытаюсь избежать установки переменной в каждый файл контроллера, избегая чего-то подобного этому коду;
var homeController = require('./controllers/home');
var userController = require('./controllers/user');
app.get('/', homeController.index);
app.get('/login', userController.getLogin);
Спасибо, но ваши рекомендации не помогают с тем, что я пытаюсь достичь. Это способ избежать установки переменной для каждого файла контроллера. – 2014-09-02 19:56:51
Обычно я обрабатываю это, чтобы передать 'app' в функцию, которую я' require'ing. Итак, 'require ('./ routes/foo') (app);' и затем вызывать 'app.get()' внутри моих отдельных файлов маршрутов. – Interrobang
Вы могли бы объяснить немного больше? Я начинаю изучать javascript, и я не совсем понимаю, что (приложение) делает в вашем коде. – 2014-09-02 22:25:50