在express中使用app.configure

时间:2013-09-05 13:03:47

标签: node.js express

我发现了一些他们在不使用app.configure的情况下设置Express的代码,我想知道,在没有环境说明符的情况下使用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')));

感谢。

1 个答案:

答案 0 :(得分:119)

根据文件,它是可选的并且仍然是遗留原因。 在您的示例中,两段代码完全没有区别。 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) {
    ...
});