Express/EJS - não carrega route

Estou fazendo meu primeiro teste com node.js. A página do index está carregando ok, mas a contact não carrega (GET http://localhost:3000/contact 404 (Not Found))

app.js (relevante):

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

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

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

contact.js (route):

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

  /* GET contact page. */
  router.get('/contact', function(req, res, next) { 
    res.render('contact', { });
  });

  module.exports = router;

navbar.ejs (relevante):

<li><a href="/contact">Contact us</a></li>

Ola, creio que aqui seria res.send('contact') referencia

1 curtida

Acho que não. Pelo menos nos exemplos que vi, o render era usado.Não lembro bem o motivo…

De qq forma, troquei e não funcionou. Parece que nem tá chegando no route, coloquei um console.log antes da resposta e não printou

Ola,
De uma olhada
app.js

var express = require('express');
var app     = express();
var port    = process.env.PORT || 8080;

require('./routes/routes.js')(app);

app.listen(port, function () {
  console.log('Example app listening on port ' + port + '!');
});

routes.js

module.exports = function(app){
    app.get('/', function(req, res){
        res.status(200).send("index");
    });
    app.get('/contact', function(req, res){
        res.status(200).send("contact");
    });
}