Utilisation de app.configure dans express

121

J'ai trouvé du code dans lequel ils ont configuré Express sans utiliser app.configureet je me demandais quelle est la différence entre utiliser app.configuresans spécificateur d'environnement et ne pas l'utiliser?

En d'autres termes, quelle est la différence entre ceci:

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

et ça:

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

Merci.

JayC
la source
18
AFAIK rien. app.configuredevait être utilisé dans les anciennes versions express mais pas maintenant.
pedro_sland
merci, cette seule question m'a aidé à résoudre mon problème. Est-ce que c'est gentil? :)
Non Plus Ultra
à requirel' intérieur du expressdevrait être dedans quotes' .
Pramesh Bajracharya

Réponses:

123

Il est facultatif et reste pour des raisons d'héritage, selon le doc. Dans votre exemple, les deux morceaux de codes n'ont aucune différence. http://expressjs.com/api.html#app.configure

Mise à jour 2015:

@IlanFrumer souligne que app.configure est supprimé dans Express 4.x. Si vous avez suivi des didacticiels obsolètes et que vous vous demandez pourquoi cela n'a pas fonctionné, vous devez supprimer app.configure(function(){ ... }. Comme ça:

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

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

app.get('/', function (req, res) {
    ...
});
Jason Leung
la source
59
Sachez que app.configurec'est complètement supprimé de la version 4.0! github.com/visionmedia/express/issues/936
Ilan Frumer
2
Chaque fois que vous utilisez une version d'Express que vous n'avez jamais utilisée auparavant, il est judicieux de rechercher un document sur la migration vers la nouvelle version github.com/visionmedia/express/wiki/Migrating-from-3.x-to-4 .x
Ryan Ore