在Express 3.0中,通常会使用app.configure()
(或app.use()
)设置所需的所需中间件。您指定的那些中间件与Express 3.0捆绑在一起。
例:
var express = require('express');
var routes = require('./routes');
var user = require('./routes/user');
var http = require('http');
var path = require('path');
var app = express();
// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.compress());
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
但是,在Express 4.0中,所有中间件均已删除,因此它们可以独立于核心Express进行维护和更新(静态中间件除外),因此需要分别调用它们(如您所见app.js
)。
该bin/
目录是您可以定义各种启动脚本的位置。这www
是将Express App作为Web服务器启动的示例。
最终,您可能具有不同的脚本,如test
,stop
或restart
,等等。拥有此结构可以使您拥有不同的启动配置,而无需将所有内容塞入app.js
。
启动Express应用程序的正确方法是:
npm start
要将Express 4.x应用程序部署到Heroku,请将其添加到您的Procfile
:
web: npm start
或者,如果您仅可以在中使用启动脚本package.json
,heroku将自动使用该启动脚本,请在此处阅读更多内容
"scripts": {
"start": "node ./bin/www",
}