默认Node.js + Express.js不运行

我正在尝试学习如何使用nodejsexpressjs创buildWeb应用程序,请遵循Expressjs网站上 使用express(1)生成应用程序标题下的入门指南。

我使用express-generator插件生成了一个应用程序,运行npm install ,然后尝试使用node app运行应用node app (我也尝试了node app.js以获得更好的效果。当运行这些命令时,没有输出terminal无论如何。

我也尝试使用node debug app程序node debug app ,结果如下:

 < debugger listening on port 5858 connecting... ok break in app.js:1 1 var express = require('express'); 2 var http = require('http'); 3 var path = require('path'); debug> cont program terminated debug> cont App isn't running... Try `run` instead debug> 

我find了一个文件bin/www ,它似乎包含启动服务器的代码,当然,运行node bin/www成功启动了该应用程序。

我在这里错过了什么?

看起来像启动应用程序的方式已经改变。 现在应该做的不是node app

npm start

更多细节在这里https://github.com/expressjs/generator

某些node.js应用程序在启动时可能会尝试进行守护或分叉。

例如, haraka使用npm daemon模块。 为了避免原始进程退出,您通常必须在应用程序中禁用守护进程模式,或尝试使用debugging器repl来绕过守护进程的代码部分。

例如, haraka 在这里设置了一个断点:

 server.js: 53 Server.daemonize = function () { ->54 var c = this.cfg.main; 55 if (!c.daemonize) return; 

然后:

  1. debug>控制台中inputrepl
  2. this.cfg.main.daemonize = false
  3. Ctrl+c一次退出repl
  4. 继续debugging…

我认为回答这个问题可能有点迟了, app.listen()使app可以直接由node app.js启动

app.listen(port, function(){ console.log("Starting on port:",port) } )