快递app路由机制服务文件

时间:2015-06-24 13:32:07

标签: node.js express routing

我是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
    });
};

然后教程使用list函数 app.use('/', photos.list);

这是视图目录app.set('views', path.join(__dirname, 'views'));

现在,照片视图index.ejs位于子目录

views
    photos
       index.ejs

在views目录中,还有另一个名为index.ejs

的文件
views
     index.ejs

我正在关注本教程。我没改变任何东西。一切正常。本教程并没有明确区分index.ejs的确切位置。那么express如何自动呈现正确的呢? views > photos > index代替views > index

1 个答案:

答案 0 :(得分:0)

如果路径指向目录而不是文件,则自动快速does that。这类似于节点在尝试index.*目录时查找require()文件的方式。