在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 应用程序作为 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",
}