我找到了一些代码,他们在不使用Express的情况下设置了Express app.configure,我想知道,在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')));
谢谢。
根据文档,它是可选的,并且出于遗留原因保留。在您的示例中,这两段代码完全没有区别。 http://expressjs.com/api.html#app.configure
2015年更新:
@IlanFrumer指出在Express 4.x中删除了app.configure。如果您遵循了一些过时的教程,并且想知道为什么它不起作用,则应该删除app.configure(function(){ ... }。像这样:
app.configure(function(){ ... }
var express = require('express'); var app = express(); app.use(...); app.use(...); app.get('/', function (req, res) { ... });