当我在终端(macOS)(DEGUG = app:* npm run devstart)中运行该应用程序时,它运行良好(服务器在端口3000 + 0ms上侦听)。但是,当我在浏览器中打开localhost时,它只会显示“ Welcome Express”页面,而当我转到特定的路由时,它会显示NotFoundError:Not Found。
这个结构(在https://expressjs.com/en/starter/faq.html上指导着我。
app.use(function (req, res, next) {
res.status(404).send("Sorry can't find that!")
})
这是我在一个控制器上使用404响应的代码的一部分:
var CCSelectionCriterion = require('../models/ccselectioncriterion');
var async = require('async');
const { body, validationResult } = require('express-validator/check');
const { sanitizeBody } = require('express-validator/filter');
// Display detail page for a specific CCSelectionCriterion.
exports.ccselectioncriterion_detail = function (req, res, next) {
CCSelectionCriterion.findById(req.params.id)
.exec(function (err, ccselectioncriterion) {
if (err) { return next(err); }
if (ccselectioncriterion==null) { // No results.
var err = new Error('CC Selection Criterion not found');
err.status = 404;
return next(err);
}
// Successful, so render.
res.render('ccselectioncriterion_detail', {title: 'CC Selection Criterion Detail', ccselectioncriterion: ccselectioncriterion});
})
};
非常感谢您。