一尘不染

在Express中使用app.configure

node.js

我找到了一些代码,他们在不使用Express的情况下设置了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')));

谢谢。


阅读 221

收藏
2020-07-07

共1个答案

一尘不染

根据文档,它是可选的,并且出于遗留原因保留。在您的示例中,这两段代码完全没有区别。
http://expressjs.com/api.html#app.configure

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) {
    ...
});
2020-07-07