默认Node.js + Express.js不运行
我正在尝试学习如何使用nodejs
和expressjs
创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.js
应用程序在启动时可能会尝试进行守护或分叉。
例如, haraka
使用npm daemon
模块。 为了避免原始进程退出,您通常必须在应用程序中禁用守护进程模式,或尝试使用debugging器repl
来绕过守护进程的代码部分。
例如, haraka
在这里设置了一个断点:
server.js: 53 Server.daemonize = function () { ->54 var c = this.cfg.main; 55 if (!c.daemonize) return;
然后:
- 在
debug>
控制台中inputrepl
-
this.cfg.main.daemonize = false
- 按
Ctrl+c
一次退出repl
- 继续debugging…
我认为回答这个问题可能有点迟了, app.listen()
使app可以直接由node app.js
启动
app.listen(port, function(){ console.log("Starting on port:",port) } )