【发布时间】:2014-06-03 21:31:47
【问题描述】:
我刚开始在我的 Node.js 应用程序中了解 Express 4.0,我发现它生成了 ./bin/www 文件,在该文件上只编写了应用程序服务器和端口设置,而其他所有内容(如中间件和路由)都定义在./app.js 文件。
但是,我不确定 ./bin/www 的作用。我使用过 Express 3.x,我总是在相同的 ./app.js 文件上定义服务器和端口设置以及路由和中间件,并使用 node app.js 启动我的节点应用程序。那么使用./bin/www 有什么意义呢?它只是将服务器和端口定义与其他定义分开吗?
现在,当我使用 express-generator 创建包时,package.json 包含以下定义:
"scripts": {
"start": "node ./bin/www"
}
但是,我想知道我应该使用node ./bin/www 还是npm start 来启动我的应用程序。我应该运行哪个命令来启动我的应用程序?
另外,当我将我的应用程序部署到 heroku 时,我应该在 Procfile 文件中写什么? web: node app.js够了吗?
【问题讨论】:
-
需要注意的是
/bin/www是express-generator工具特有的。来自express docs:“bin目录和无扩展名的www文件对于创建 Express 应用程序或启动应用程序都是必需的。”
标签: javascript node.js heroku express