Using app.configure in express
node.jsExpressnode.js Problem Overview
I found some code where they set up Express without using app.configure
and I was wondering, what's the difference between using app.configure
without an environment specifier and not using it?
In other words, what's the difference between this:
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')));
}
and this:
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')));
Thanks.
node.js Solutions
Solution 1 - node.js
It is optional and remain for legacy reason, according to the doc. In your example, the two piece of codes have no difference at all. http://expressjs.com/api.html#app.configure
Update 2015:
@IlanFrumer points out that app.configure is removed in Express 4.x. If you followed some outdated tutorials and wondering why it didn't work, You should remove app.configure(function(){ ... }
. Like this:
var express = require('express');
var app = express();
app.use(...);
app.use(...);
app.get('/', function (req, res) {
...
});