学习node.js / express.js:bin / www的处理是什么?

我已经看过express.js的教程,比如从头开始用自己的app.js文件,并放弃使用快速生成器。

我的问题:对于试图掌握如何使用这些工具并创build一个基本的Web应用程序的初学者,我应该关心bin / www还是应该在app.js中定义端口?

我目前在bin / www中唯一可以理解的function是设置端口。 快递发生器是否仅仅是边缘情况function,对于初学者来说太多了?

这是一个明确的维护者简洁地说明的原因:

因此,您可以从外部文件中获取('./app'),并获取不在任何端口上侦听的快速应用程序(请考虑unit testing等)。

资源

app.js

  • 包含所有的中间件(body-parser,morgan等)和路由。
  • 它最后导出应用程序对象。

万维网

  • 在这里它创build一个httpServer并传递应用程序作为处理程序

var server = http.createServer(app);

  • 还要设置端口server.listen(port);
  • 如果在启动服务器时出现错误,也会设置要调用的函数: server.on('error', onError);

因此,基本上,它将删除app.js中的所有创build和启动服务器代码,并让您只关注应用程序逻辑部分。 注意:如果你看到package.json文件,你会注意到这一点:

 "scripts": { "start": "node ./bin/www" } 

这意味着如果你inputterminalnpm start那么它会自动启动./bin/www文件。