Realmente no entiendo por qué el nodo (express) solo representa la página de índice y devuelve 404 para otras páginas ("comproAffitto" en el ejemplo).
aplicación.js
var index = require('./routes/index'); var comproAffitto= require ('./routes/comproAffitto'); ... ... app.use('/', index); app.use('/comproAffitto', comproAffitto);rutas/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;rutas/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;href html
<a href="/comproAffitto/" class ....registro de la consola
GET /comproAffitto/ 404¿Dónde está el problema?
gracias a todos
Estás construyendo la ruta dos veces: /comproAffitto/comproAffitto . Debe eliminar uno de ellos o aquí:
app.use('/', comproAffitto);o allí:
rutas/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; dejando app.use('/comproAffitto', comproAffitto);
Ha definido /comproAffitto/comproAffitto en lugar de /comproAffitto
Tendrías que cambiar esto:
app.use('/comproAffitto', comproAffitto);a esto:
app.use('/', comproAffitto);o esto:
router.get('/comproAffitto', function(req, res, next) {a esto:
router.get('/', function(req, res, next) {