express.js中未完成的404

时间:2017-04-25 15:21:02

标签: javascript node.js express get

我真的不明白为什么node(express)只渲染索引页面并为其他页面返回404(示例中为“comproAffitto”)。

app.js

var index = require('./routes/index');
var comproAffitto= require ('./routes/comproAffitto');

...
...

app.use('/', index);
app.use('/comproAffitto', comproAffitto);

路由/ index.js

var express = require('express');
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});

module.exports = router;

路由/ comproAffitto.js

var express = require('express');
var router = express.Router();

/* GET comproAffitto page. */
router.get('/comproAffitto', function(req, res, next) {
console.log("dentro");
res.render('comproAffitto', { title: 'Exprrress' });
});

module.exports = router;

html href

<a href="/comproAffitto/" class ....

控制台日志

GET /comproAffitto/ 404

问题出在哪里?

谢谢大家

2 个答案:

答案 0 :(得分:0)

您正在构建路径两次:/comproAffitto/comproAffitto。 您应该删除其中一个或此处:

app.use('/', comproAffitto);

或那里:

路由/ comproAffitto.js

var express = require('express');
var router = express.Router();

/* GET comproAffitto page. */
router.get('/', function(req, res, next) {
console.log("dentro");
res.render('comproAffitto', { title: 'Exprrress' });
});

module.exports = router;

离开app.use('/comproAffitto', comproAffitto);

答案 1 :(得分:0)

您定义了/comproAffitto/comproAffitto而不是/comproAffitto

你需要改变这个:

app.use('/comproAffitto', comproAffitto);

到此:

app.use('/', comproAffitto);

或者这个:

router.get('/comproAffitto', function(req, res, next) {

到此:

router.get('/', function(req, res, next) {