Javascript Node.js+;快速给我错误-无法获取/
我创建了一个简单的应用程序。在我将应用程序代码拆分为MVC模板之前,一切都正常。下面是我的申请代码。转到localhost:3000/添加服务后,您将看到无法获取/添加服务消息 我不幸无法解决的问题在哪里 app.jsJavascript Node.js+;快速给我错误-无法获取/,javascript,node.js,express,Javascript,Node.js,Express,我创建了一个简单的应用程序。在我将应用程序代码拆分为MVC模板之前,一切都正常。下面是我的申请代码。转到localhost:3000/添加服务后,您将看到无法获取/添加服务消息 我不幸无法解决的问题在哪里 app.js const express = require('express'); const path = require('path'); const bodyParser = require('body-parser'); const expressLayouts = require(
const express = require('express');
const path = require('path');
const bodyParser = require('body-parser');
const expressLayouts = require('express-ejs-layouts');
const adminRoutes = require('./Routes/admin');
const shopRouters = require('./Routes/shop');
const app = express();
app.use(expressLayouts);
app.set('view engine', 'ejs');
app.set('views', './views');
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));
app.use('/add-service', adminRoutes);
app.use(shopRouters);
app.use('/', (req, res, next) => {
res.status(404).render('./pages/404', {
title: '404 Page Not Found',
path: '',
});
});
app.listen(3000);
admin.js-这是我的路由器文件
const express = require('express');
const router = express.Router();
const bikesController = require('../controllers/bikes');
router.get('/add-service', bikesController.getAddBike);
module.exports = router;
bikes.js-这是我的控制器
const bikes = [];
exports.getAddBike = (req, resno) => {
res.render('../views/pages/add-service', {
path: 'pages/add-service',
title: 'Add in Service',
});
};
exports.postAddBike = (req, res) => {
bikes.push({ title: req.body.bikeModel });
res.redirect('/');
};
exports.getBikes = (req, res) => {
res.render('./pages/shop', {
model: bikes,
docTitle: 'List of Bikes',
path: '/',
title: 'Main Page',
});
};
应用程序树
您已在/add service
服务提供的唯一端点是
/addservice
将它们组合在一起,您就得到了URL:/add service/add service
,这不是您想要的
路由器的要点是,它不需要知道它所在位置上方的URL 路由器应该只处理URL层次结构中自己的部分:
router.get('/', bikesController.getAddBike);
它起作用了!坦斯克。我从
app.use('/addservice',adminRoutes)中删除代码>/添加服务即可。
router.get('/add-service', bikesController.getAddBike);
router.get('/', bikesController.getAddBike);