Использование app.configure в экспрессе


121

Я нашел код, в котором они настраивают Express без использования, app.configureи мне было интересно, в чем разница между использованием app.configureбез спецификатора среды и без его использования?

Другими словами, в чем разница между этим:

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

и это:

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

Спасибо.


18
Насколько я знаю, ничего. app.configureдолжен был использоваться в старых экспресс-версиях, но не сейчас.
pedro_sland 05

спасибо, только этот вопрос помог мне решить мою проблему. Как это хорошо? :)
Non Plus Ultra

внутри должен быть . requireexpressquotes'
Pramesh Bajracharya

Ответы:


123

Согласно документу, это необязательно и остается по причине устаревания. В вашем примере две части кода вообще не имеют разницы. http://expressjs.com/api.html#app.configure

Обновление 2015:

@IlanFrumer указывает, что app.configure удален в Express 4.x. Если вы следовали устаревшим руководствам и задаетесь вопросом, почему они не работают, вам следует удалить app.configure(function(){ ... }. Как это:

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

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

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

59
Имейте в виду, что app.configureполностью удалена из версии 4.0! github.com/visionmedia/express/issues/936
Илан Фрумер

2
Каждый раз, когда вы используете версию Express, которую раньше не использовали, рекомендуется проверить наличие документации по переходу на новую версию github.com/visionmedia/express/wiki/Migrating-from-3.x-to-4 .x
Райан Оре
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.