学习node.js/express.js:与bin/www有什么关系?

i3r*_*v05 25 node.js express

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

我的问题:对于那些试图掌握如何使用这些工具并制作基本Web应用程序的初学者,我应该关注bin/www或者我应该只是在内部定义端口app.js

我目前理解的唯一功能bin/www是设置端口.快速生成器是否只是膨胀了边缘案例功能,这对初学者来说太过分了?

CMi*_*eB1 43

这就是原因,由快速维护人员简洁地说明:

所以你可以从外部文件中获取('./ app')并获得不在任何端口上监听的快速应用程序(想想单元测试等).

资源

  • 这应该是公认的答案!! (5认同)

Niv*_*esh 28

app.js

  • 包含所有中间件(body-parser,morgan等)和路由.
  • 它最后导出app对象.

万维网

  • 在这里它创建一个httpServer并将app作为处理程序传递

var server = http.createServer(app);

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

解释所以,基本上它会从你的app.js中删除所有创建和启动服务器代码,让你只关注应用程序逻辑部分. 注意:如果您在package.json文件中看到,您会注意到:

"scripts": {
  "start": "node ./bin/www"
}
Run Code Online (Sandbox Code Playgroud)

这意味着如果您输入终端npm start,它将自动启动该./bin/www文件.