I really don't understand why node(express) just render index page and return 404 for other pages ("comproAffitto" in the example).
app.js
var index = require('./routes/index');
var comproAffitto= require ('./routes/comproAffitto');
...
...
app.use('/', index);
app.use('/comproAffitto', comproAffitto);
routes/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;
routes/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 ....
console log
GET /comproAffitto/ 404
where is the problem?
thank you all
You are constructing the path two times: /comproAffitto/comproAffitto.
You should remove one of them or here:
app.use('/', comproAffitto);
or there:
routes/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;
leaving app.use('/comproAffitto', comproAffitto);
You defined /comproAffitto/comproAffitto instead of /comproAffitto
You would need to either change this:
app.use('/comproAffitto', comproAffitto);
to this:
app.use('/', comproAffitto);
or this:
router.get('/comproAffitto', function(req, res, next) {
to this:
router.get('/', function(req, res, next) {