Eu encontrei um código onde eles configuram o Express sem usar app.configure
e eu queria saber, qual é a diferença entre usar app.configure
sem um especificador de ambiente e não usá-lo?
Em outras palavras, qual é a diferença entre isso:
var app = require(express);
app.configure(function(){
app.set('port', process.env.PORT || config.port);
app.use(express.logger('dev')); /* 'default', 'short', 'tiny', 'dev' */
app.use(express.bodyParser());
app.use(express.static(path.join(__dirname, 'site')));
}
e isto:
var app = require(express);
app.set('port', process.env.PORT || config.port);
app.use(express.logger('dev')); /* 'default', 'short', 'tiny', 'dev' */
app.use(express.bodyParser());
app.use(express.static(path.join(__dirname, 'site')));
Obrigado.
app.configure
teve que ser usado em versões expressas mais antigas, mas não agora.require
doexpress
deve estar dentroquotes'
.Respostas:
É opcional e permanece por motivos legados, de acordo com o documento. No seu exemplo, os dois códigos não têm nenhuma diferença. http://expressjs.com/api.html#app.configure
Atualização 2015:
@IlanFrumer ressalta que app.configure foi removido no Express 4.x. Se você seguiu alguns tutoriais desatualizados e se perguntou por que não funcionou, remova-o
app.configure(function(){ ... }
. Como isso:fonte
app.configure
foi completamente removido da versão 4.0! github.com/visionmedia/express/issues/936