2
respostas

Por que devo invocar o objeto express tanto no arquivo express.js e no app.js?

Não entendi o porquê disso, já que fazemos isso no express.js e retornamos o a variável app que já deveria, ao meu ver, conter o objeto que representa o express.

2 respostas

Oi Pedro, cola o código aqui pra gente entender melhor o que você está dizendo? Assim posso explicar dentro do contexto direto da sua pergunta.

Acho que entendi Pedro Paulo, por que estava tendo a mesma dúvida que você.

const express = require("express");
const app = express();
app.set("view engine", "ejs");

module.exports = function() {
    return app;
}

O return da função não retorna o objeto instanciado. Perceba que o que estamos definindo na propriedade .exports é uma função e não um objeto.

Acredito que seja por isso que temos que chamar a função que será retornada. Se você fizer:

const configExpress = require('./config/express');
app.listen(3000, function(){
    console.log('Servidor rodando...'+typeof configExpress);
});

você notará que o tipo dele é uma function.

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