我发现了一些他们在不使用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')));
感谢。
答案 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) {
...
});