Express 4.x中的“ ./bin/www”有什么作用?

我刚开始在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足够?

村村2020/03/26 16:53:06

如果您使用的是express-generator,则只需查看您的本地文件,./bin里面./bin就有www文件。因此,当您运行时node ./bin/www,node.js将在www文件中执行代码没有什么花哨。

小宇宙伽罗梅2020/03/26 16:53:06

将此放入Procfile web: node ./bin/www 并检查是否与foreman start该应用程序应在端口5000上可用

西里Near2020/03/26 16:53:06

在Windows上,使用以下命令:

设置DEBUG = myapp:*&npm start然后在浏览器中加载http:// localhost:3000 /以访问该应用。