In 快车3.0,你通常会使用app.configure()
(or app.use()
)来设置您需要的中间件。您指定的那些中间件与 Express 3.0 捆绑在一起。
Example:
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());
In 快递4.0但是,所有中间件都已被删除,以便它们可以独立于核心 Express 进行维护和更新(静态中间件除外),因此需要单独调用它们(您在app.js
).
The bin/
目录作为一个位置,您可以在其中定义各种启动脚本. The www
是一个将 Express 应用程序作为 Web 服务器启动的示例。
最终,您可以有不同的脚本,例如test
, stop
, or restart
等等。有了这种结构,您就可以拥有不同的启动配置,而无需将所有内容都塞进去app.js
.
启动 Express 应用程序的正确方法是:
npm start
要部署一个快递4.x app to Heroku,将其添加到您的Procfile
:
web: npm start
或者,如果您可以只使用启动脚本package.json
,heroku 会自动使用它,阅读更多here
"scripts": {
"start": "node ./bin/www",
}