Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Inicializando a estratégia de autenticação

Boa tarde. Apenas importando o arquivo no app.js, a estrategia de autenticação se inicializa sozinha? Porque eu importo ela, e o VS Code deixa ela meio apagada indicando que não estamos usando em nenhum lugar dentro do arquivo, o que leva a nós pensarmos que podemos apagar essa importação já que não está sendo usada mesmo.

Então essa é minha dúvida, importamos o arquivo e já é considerado como inicializado pelo simples fato de ter sido importado? Como explicar isso? Então quando o vscode indicar que o arquivo não está sendo usado dentro do código não podemos confiar pois está. É isso mesmo?

// Aqui inicializamos nossa estratégia de autenticação
const { estrategiaAutenticacao } = require('./src/usuarios');
2 respostas
solução

Oi, Jocimar!

Isso! Quando você utiliza o require() o código do seu módulo é executado e o resultado de module.exports é retornado.

Você pode conferir isso criando dois arquivos:

  • Um chamado dependencia.js com o conteúdo
console.log('Eu sou uma dependência!');
  • E outro chamado principal.js com o conteúdo:
require('./dependencia');
console.log('Eu sou o programa principal!');

Se você executar o programa principal com node principal.js, você vai ter o seguinte resultado:

Eu sou uma dependência!
Eu sou o programa principal!

Ou seja, apenas importando o módulo com require() nós executamos seu conteúdo. Por isso que as estratégias são inicializadas com isso.

Para contornar a indicação do vscode, você pode trocar esse trecho por

// Aqui inicializamos nossa estratégia de autenticação
require('./src/usuarios/estrategias-autenticacao');

Aí o módulo é inicializado mas não cria uma variável.

Se tiver mais alguma dúvida é só falar!

Abraços.

Obrigado!!! Abraços.

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