Utilizzando app.configure in express


121

Ho trovato del codice in cui hanno impostato Express senza utilizzare app.configuree mi chiedevo, qual è la differenza tra l'utilizzo app.configuresenza uno specificatore di ambiente e il non utilizzarlo?

In altre parole, qual è la differenza tra questo:

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 questo:

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')));

Grazie.


18
AFAIK niente. app.configuredoveva essere utilizzato nelle versioni precedenti di Express, ma non ora.
pedro_sland

grazie, questa domanda da sola mi ha aiutato a risolvere il mio problema. Quanto è bello? :)
Non Plus Ultra

all'interno requiredella expressdovrebbe essere quotes' .
Pramesh Bajracharya

Risposte:


123

È facoltativo e rimane per motivi legacy, secondo il doc. Nel tuo esempio, i due codici non hanno alcuna differenza. http://expressjs.com/api.html#app.configure

Aggiornamento 2015:

@IlanFrumer sottolinea che app.configure è stato rimosso in Express 4.x. Se hai seguito alcuni tutorial obsoleti e ti chiedi perché non ha funzionato, dovresti rimuovere app.configure(function(){ ... }. Come questo:

var express = require('express');
var app = express();

app.use(...);
app.use(...);

app.get('/', function (req, res) {
    ...
});

59
Tieni presente che app.configureè stato completamente rimosso dalla versione 4.0! github.com/visionmedia/express/issues/936
Ilan Frumer

2
Ogni volta che usi una versione di Express che non hai mai usato prima, è una buona idea controllare un documento sulla migrazione alla nuova versione github.com/visionmedia/express/wiki/Migrating-from-3.x-to-4 .x
Ryan Ore
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.