在 Express 中使用 app.configure

我发现了一些代码,他们在设置 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')));

谢谢。

82013 次浏览

它是可选的,并保留遗留的原因,根据文件。 在您的示例中,这两段代码没有任何区别。 Http://expressjs.com/api.html#app.configure

Update 2015:

@ IlanFrumer 指出,Express 4. x 中移除了 app.configure。如果您遵循一些过时的教程,并想知道为什么它不工作,您应该删除 app.configure(function(){ ... }。像这样:

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


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


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