我刚开始在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
足够?
如果您使用的是express-generator,则只需查看您的本地文件,./bin里面
./bin
就有www
文件。因此,当您运行时node ./bin/www
,node.js将在www
文件中执行代码。没有什么花哨。