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.


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) {
    ...
});

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.