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.
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.
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.