Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js+;快速给我错误-无法获取/_Javascript_Node.js_Express - Fatal编程技术网

Javascript Node.js+;快速给我错误-无法获取/

Javascript 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(

我创建了一个简单的应用程序。在我将应用程序代码拆分为MVC模板之前,一切都正常。下面是我的申请代码。转到localhost:3000/添加服务后,您将看到无法获取/添加服务消息

我不幸无法解决的问题在哪里

app.js

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);