我正在尝试学习使用nodejs
和expressjs
创建网络应用,按照the expressjs website上的入门指南,在使用快递(1)标题下生成应用。
我使用express-generator
插件生成了一个应用,运行npm install
,然后尝试使用node app
运行应用程序(我还尝试了node app.js
以获得良好的衡量标准。运行这些命令时,终端没有输出。
我还尝试使用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>
我确实找到了一个文件bin/www
,它似乎包含了启动服务器的代码,而且,确实运行node bin/www
成功启动了应用程序。
我在这里缺少什么?
答案 0 :(得分:43)
答案 1 :(得分:0)
某些node.js
个应用可能会在您启动它们时尝试进行守护或分叉。
例如,haraka
使用npm daemon
模块。为了避免原始进程退出,您通常必须在应用程序中禁用守护程序模式,或者尝试使用调试程序repl
来绕过守护程序的代码部分。
例如,haraka
设置断点here:
server.js:
53 Server.daemonize = function () {
->54 var c = this.cfg.main;
55 if (!c.daemonize) return;
然后:
repl
控制台debug>
this.cfg.main.daemonize = false
Ctrl+c
退出repl
答案 2 :(得分:-1)
我认为回答问题可能有点迟,但仍然添加app.listen()
可以让应用程序直接由node app.js
app.listen(port, function(){
console.log("Starting on port:",port)
}
)