2015-06-24 1 views
0

Я новичок в express.js, и у меня есть вопрос о маршрутизации. Я реализую учебник. В app.js учебник требует файл маршрутизатора var photos = require('./routes/photos');Экспресс-приложение механизм маршрутизации служит файл

это то, что находится внутри photos.js

var photos = []; 

photos.push({ 
    name: 'Node.js Logo', 
    path: 'http://nodejs.org/images/logos/nodejs-green.png' 
}); 

photos.push({ 
    name: 'Ryan Speaking', 
    path: 'http://nodejs.org/images/ryan-speaker.jpg' 
}); 

exports.list = function(req, res){ 
    res.render('photos', { 
    title: 'Photos', 
    photos: photos 
    }); 
}; 

то учебник использует функцию списка app.use('/', photos.list);

и это каталог вид app.set('views', path.join(__dirname, 'views'));

Теперь, просмотр фотографий, index.ejs находится внутри подкаталога

views 
    photos 
     index.ejs 

В каталоге просмотров есть еще один файл с именем index.ejs

views 
    index.ejs 

Я только после урока. Я ничего не изменил. Все работает нормально. В учебнике не указано, где именно находится index.ejs. Итак, как выражается автоматически, делает правильный? views > photos > index вместо views > index?

+0

Возможно, вы даете соответствующий путь при визуализации шаблона? –

ответ

0

Экспресс does that автоматически, если путь указывает на каталог вместо файла. Это похоже на то, как узел будет искать файлы index.*, если вы попробуете require() каталог.

 Смежные вопросы

  • Нет связанных вопросов^_^