无法在express.js中获得正确的页面

时间:2015-06-24 18:37:09

标签: node.js express

在express.js 4.2.0中,我有以下路线

var photos = require('./routes/photos');
app.use('/', photos.list);
app.get('/upload', photos.form);

这是photos.js,其中包含一些图片和功能listform

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

exports.form = function(req, res){
    res.render('photos/upload', {
        title: 'Photo upload'
    });
};

index.ejsupload.ejs位于views > photos目录中。现在,当我启动服务器时,我得到2个警告,"没有存储库字段"和#34;没有自述数据"关于package.json。

我点击http://localhost:4500我看到GET / 200,一切正常。我点击http://localhost:4500/upload如果我刷新,我会看到GET /upload 200GET /upload 304。但浏览器仍然呈现索引页面。我没有得到任何其他错误。

我做错了什么?

由于

1 个答案:

答案 0 :(得分:1)

“没有存储库字段”和“没有自述文件数据”只是意味着你的package.json不完整,并且npm希望你为存储和记录包的位置添加URL。

然后,您可能需要以下内容:

var photos = require('./routes/photos');
app.get('/', photos.list); // <--------------- `get` instead of `use`
app.get('/upload', photos.form);

app.use适用于中间件, listform实现的内容。