Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

DÚVIDA SOBRE REFATORAÇÃO DE ROTAS

Boa Noite, gostaria de saber se meu exemplo abaixo é bom?

Pois achei melhor a forma de separação de responsabilidade.

Caso seja ruim, qual seria o problema?

// app.js
var app = require("./config/express.js")();    
const BaseRoutes = require('./base-routes.js')(app);
// base-routes.js
const HomeRoutes = require('./home-routes.js');
module.exports = (app) => 
{
    const routes = {
        home: HomeRoutes(app)
    }
    return routes;
}

[1]: Nesse ponto que estamos sempre chamando o retorno do import da rota, quando esse "base-routes" é importado, está correto?

// home-routes.js
module.exports = (app) => 
{
    app.get(...);
}
6 respostas

Fala ai Frank, tudo bem?

Nesse ponto que estamos sempre chamando o retorno do import da rota, quando esse "base-routes" é importado, está correto?

É complicado dizer correto ou errado, seu código está funcionando? Então show de bola, é muito complicado definir algo como certo ou errado, depende de cada cenário.

Eu geralmente em aplicações Node no back-end eu faço igual você fez, porém, de maneira diferente.

Eu tenho um arquivo para juntar todas as rotas que seria o seu base-routes, onde ele importa todas as rotas e devolve elas juntas.

Eu apenas mudaria um pouco os códigos, mas, está bom, eu gostei.

Espero ter ajudado.

Opa Matheus, valeu pela resposta.

"Eu tenho um arquivo para juntar todas as rotas que seria o seu base-routes, onde ele importa todas as rotas e devolve elas juntas."

Mas isso é exatamente o que meu código acima está fazendo.

O seu arquivo como seria, poderia passar um pequeno exemplo, só para eu ter idéia?

Pois lembrando que ao configurarmos um MODULE-LODER( EXPRESS-LOAD, CONSIGN) não precisaria de um arquivo pra unificar as rotas, já que eles fornecerão o express para as rotas.

Minha dúvida é mais para esse exemplo em específico, o qual ainda não temos tais configurações e precisamos ainda passar na função o express.

solução!

Fala ai Frank, tudo bem?

O seu arquivo como seria, poderia passar um pequeno exemplo, só para eu ter idéia?

Segue o link para o arquito _config/routes.js:

https://github.com/mahenrique94/video-autenticacao-usuarios-node/blob/master/src/_config/routes.js

Essa é a maneira como eu junto as rotas.

Minha dúvida é mais para esse exemplo em específico, o qual ainda não temos tais configurações e precisamos ainda passar na função o express.

Depende de cada projeto, eu particularmente não gosto de usar um carregador/injetor de módulos (por exemplo: consign).

Então eu faço da maneira que te mandei acima, dá uma olhada no projeto também.

Mas, se você usa o consign por exemplo, sim, não faz sentido juntar as rotas, basicamente deixá-las em uma pasta routes vai ser o suficiente para que o consign faça o carregamento e injeção delas.

Espero ter ajudado e desculpa pela demora.

Obrigado pelo retorno Matheus, mas minha dúvida foi respondida com os vídeos seguintes do curso, o qual ele fez de forma similar a minha.

De qualquer forma obrigado pela resposta, pois me ajudou muito,

Forte abraço.

Fico feliz que tenha solucionado a dúvida.

Sempre que precisar não deixe de criar suas dúvidas.

Abraços 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