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

Vídeo considerando require(~/rotas), e a transcrição considerando requires(~/rotas.js)

Olá pessoal!

No vídeo o arquivo custom-express.js faz o require do módulo de rotas da seguinte forma:

const rotas = require('../app/rotas/rotas'); // não tem a extensão .js

, já a transcrição considera:

require('../app/rotas/rotas.js'); // tem a extensão .js

Qual é a forma correta e/ou existe alguma diferença? Pergunto porque testei conforme a transcrição e a app também funcionou.

Desde já obrigado! Atenciosamente.

5 respostas

Elias, boa tarde!

O node segue uma ordem lógica para saber como interpretar o caminho Imagine que você X é um arquivo

1 - Se X for um arquivo, carregue X como texto JavaScript. PARE

2- Se X.js for um arquivo, carregue o X.js como texto JavaScript. PARE

3 - Se X.json for um arquivo, analise X.json em um Objeto JavaScript. PARE

Espero ter ajudado e bons estudos!

Olá Felipe!

Ajudou sim, entendi a diferença/a lógica que o Node considera.

Porém ficou a dúvida de qual ser a forma (mais) correta para este caso: considerar ou não a extensão .js no require do arquivo "rotas.js"?

Atenciosamente.

solução!

Boa tarde, Elías! Como vai?

Normalmente é feito o require sem a extensão a qual só é adicionada em casos de necessidade como mostrado pelo nosso colega Felipe anteriormente!

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Olá Gabriel! Tudo certo e você?

Ok, irei considerar sem a extensão.

Agora com as vossas explicações, inclusive no meu entendimento o passo 2 parece desnecessário (o Node poderia fazer apenas 2 passos, o 1 e o 3), porque basta considerar sempre o require de arquivos JS sem a extensão, que sempre será feito o passo 1.

Enfim, obrigado a todos pelo retorno! Atenciosamente.

Opa, Elías! Tudo ótimo!

Então, o caso 2 na realidade não é desnecessário. Como o Node permite fazer require com extensão do arquivo, o caso de arquivos com a extensão .js é apenas uma das possibilidades! Ou seja, já que é possível requerer arquivos com extensão, automaticamente o passo 2 se torna válido!

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!