Observação dos templates e aplicação nas middlewares de tratamento de erros do custom express
Já que os outros alunos implementaram os templates nos livros e na home dos Controllers, sugiro que observem o "custom express", pois dado que utiliza strings em seus require de páginas, é possível substituir pela lógica de templates, tente fazer. Segue descrito como eu fiz:
Tendo em vista que no arquivo index.js
da base na pasta views vocês devem ter algo parecido com:
module.exports = {
error404: require('./errors/404.marko'),
error500: require('./errors/500.marko'),
home: require('./home/home.marko'),
}
No arquivo custom express da pasta config, poderiam implementar a ideia de templates também:
Primeiro faça a importação dos templates com:
const templates = require('../app/views/templates');
e depois faça algo parecido com:
app.use((request, response, next) => response
.status(404)
.marko(
templates.base.error404
));
app.use((err, request, response, next) => response
.status(500)
.marko(
templates.base.error500
));
Motivo
Como apontado pelo instrutor, ao centralizar em um template, quando em alguma situação você tiver que modificar às rotas, isso facilitará a manutenibilidade de seu código. E também, enfatizo que em algum momento o instrutor citou o conceito de responsabilidade única (Single responsibility do SOLID, leia sobre), então ao se aproximar desse pattern possibilitará a semântica, manutenção e consequentemente escalabilidade (expansão do código) melhorarem notoriamente.