Когда я запускаю приложение в терминале (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});
})
};
Большое спасибо.