express.js在添加更多路由后的每个页面错误500

express.js on every page error 500 after adding more routes

本文关键字:错误 js 添加 路由 多路 express      更新时间:2023-09-26

我使用的是最新版本的express,并使用express生成器创建了我的基本文件夹和文件结构。现在,在app.js文件中添加更多路由后,我在每一页上都会收到一个错误500。

这是我的app.js中添加路由的部分:

var routes = require('./routes/index');
var play = require('./routes/play');
var login = require('./routes/login');
var register = require('./routes/register');

app.use('/', routes);
app.use('/play', play);
app.use('/login', login);
app.use('/register', register);

我的play.js文件如下所示:

var express = require('express');
var router = express.Router();
router.get('/', function(req, res, next) {
    res.render('index', { page: 'play' });
});
module.exports = router;

我的login.jsregister.js文件如下所示(到目前为止没有太大变化):

var express = require('express');
var router = express.Router();
router.get('/', function(req, res, next) {
    res.render('index', { page: 'login' });
});
module.exports = router;

我的文件夹结构如下:

projectfolder'routes'play.js 
projectfolder'views'index.ejs 
projectfolder'views'modules'Templatefiles.ejs 
projectfolder'app.js

我做错了什么?

您应该在更通用的路由之后指定更具体的路由。

重新排序您的路线如下:

app.use('/play', play);
app.use('/login', login);
app.use('/register', register);
app.use('/', routes);

在快递中,路线的顺序很重要。您得到500,因为/路由的处理程序没有playlogin等路径的处理程序。