1
resposta

Sugestão para alunos: aplicação dos templates no customExpress

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.

1 resposta

Olá João Vitor, tudo bem? Peço desculpas pela demora no retorno! Mas estou passando aqui apenas para dizer que foi muito bacana sua opinião e acho que vai contribuir e ajudar outras pessoas a aprofundarem ainda mais o conhecimento que já possuem! Continue assim e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software