我正在为我的网站做一个简单的节点应用程序。我已经配置了我的app.js
,控制器和路由器。我的问题是我一直在三个子页面中的两个上得到错误404,索引工作也很好。我认为它们在结构上几乎是一样的,我试过跟踪应用程序路由控制器,但对我来说似乎不错。
我的控制台输出:
GET / 304 1.443 ms - -
GET /css/style.css 304 0.325 ms - -
GET /images/IMG_2202.png 304 0.639 ms - -
GET /images/vertabelo-tabele.png 304 0.774 ms - -
GET /sprzet 200 1.904 ms - 3241
GET /css/style.css 304 0.393 ms - -
GET /images/IMG_2202.png 304 0.501 ms - -
GET /zamowienia 404 1.152 ms - 1393
GET /wysylka 404 0.917 ms - 1393
正如您所看到的,/zamowienia
和/wysylka
没有找到,但是结构与sprzet相同。
我的应用程序. js
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var indexRouter = require('./routes/index');
const sprzetRouter = require('./routes/sprzetRoute');
const wysylkaRouter = require('./routes/wysylkaRoute');
const zamowieniaRouter = require('./routes/zamowieniaRoute');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', indexRouter);
app.use('/sprzet', sprzetRouter);
app.use('/list-wys', wysylkaRouter);
app.use('/list', zamowieniaRouter);
// catch 404 and forward to error handler
app.use(function (req, res, next) {
next(createError(404));
});
// error handler
app.use(function (err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
module.exports = app;
威悉卡路线
const express = require('express');
const router = express.Router();
const wysylkaController = require('../controllers/wysylkaController');
router.get('/', wysylkaController.showWysylkaList);
router.get('/add', wysylkaController.showAddWysylkaForm);
router.get('/details/:wysId', wysylkaController.showWysylkaDetails);
module.exports = router;
和wysylka控制器
const { Router } = require("express");
exports.showWysylkaList = (req, res, next) => {
res.render('pages/wysylka/list-wys', {
navLocation: 'wys'
});
}
exports.showAddWysylkaForm = (req, res, next) => {
res.render('pages/wysylka/form-wys', {
navLocation: 'wys'
});
}
exports.showWysylkaDetails = (req, res, next) => {
res.render('pages/wysylka/list-wys-details', {
navLocation: 'wys'
});
}
我的nav
看起来也不错:
<nav>
<ul>
<li><a href="/" class="<%= navLocation == 'main' ? 'active' : ''%>">Strona główna</a></li>
<li><a href="/zamowienia" class="<%= navLocation == 'zam' ? 'active' : ''%>">Zamówienia</a></li>
<li><a href="/sprzet" class="<%= navLocation == 'sprz' ? 'active' : ''%>">Sprzęt</a></li>
<li><a href="/wysylka" class="<%= navLocation == 'wys' ? 'active' : ''%>">Wysylka</a></li>
</ul>
</nav>
我试过回溯所有路径,并将/wysylka
和/zamowienia
与/sprzet
进行比较,但它们似乎都是以相同的方式构建的。
1条答案
按热度按时间qqrboqgw1#
问题是
app.js
中的端点错误。我不得不换了这个:
对此:
使端点指向子文件夹而非特定文件。