Використання 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
AFAIK нічого. app.configureдовелося використовувати в старих експрес-версіях, але не зараз.
pedro_sland

дякую, саме це питання допомогло мені вирішити свою проблему. Як це приємно? :)
Non Plus Ultra

всередині повинен бути . requireexpressquotes'
Прамеш Байрачаря

Відповіді:


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/isissue/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.