在express.js 4.2.0中,我有以下路线
var photos = require('./routes/photos');
app.use('/', photos.list);
app.get('/upload', photos.form);
这是photos.js
,其中包含一些图片和功能list
和form
。
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.ejs
和upload.ejs
位于views > photos
目录中。现在,当我启动服务器时,我得到2个警告,"没有存储库字段"和#34;没有自述数据"关于package.json。
我点击http://localhost:4500
我看到GET / 200
,一切正常。我点击http://localhost:4500/upload
如果我刷新,我会看到GET /upload 200
或GET /upload 304
。但浏览器仍然呈现索引页面。我没有得到任何其他错误。
我做错了什么?
由于
答案 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
适用于中间件,不 list
和form
实现的内容。