我正在遵循这些指示 http://www.jetbrains.com/webstorm/webhelp/running-and-debugging-node-js.html#d93421e461
有我的配置,我实际上有三个服务器(使用pomelo.js),一个用于Web,一个用作web服务,托管在游戏服务器上,游戏服务器基本上无法直接从http请求访问。 (使用端口1500上的Web服务来访问它)
https://docs.google.com/file/d/0ByzbHcAxmCyvQ1ZqZTFhREpZNGM https://docs.google.com/file/d/0ByzbHcAxmCyvV2JFWkwxTldJNFE https://docs.google.com/file/d/0ByzbHcAxmCyvZnVlYXNNSk4weHM https://docs.google.com/file/d/0ByzbHcAxmCyvN2o1VUhQR3cwX0U
点击“运行:
”"D:\Logiciels installés\nodejs\node.exe" --debug-brk=1337 web-server\app.js
debugger listening on port 1337
但如果我进入网页,我什么都没有,只是这个错误:
Code d'erreur : ERR_CONNECTION_ABORTED.
现在,如果我在调试模式下运行它,则会打开两个调试控制台: 调试网:
"D:\Logiciels installés\nodejs\node.exe" --debug-brk=29855 --debug-brk=1337 web-server\app.js
debugger listening on port 1337
[ReferenceError: Buffer is not defined]
Grunt watcher starting...
*********** Controller Reader ***********
GET/POST/PUT/DELETE => /
GET/POST/PUT/DELETE => /chat
GET/POST/PUT/DELETE => /demo
GET/POST/PUT/DELETE => /login
GET/POST/PUT/DELETE => /game
GET/POST/PUT/DELETE => /subscribe
POST => /game/connect
GET => /mapEditor
POST => /mapEditor/:action
GET => /translate
********* Controller Reader End *********
Web server has started in development mode.
Please log on http://127.0.0.1:1337/index.html
grunt-cli: The grunt command line interface. (v0.1.11)
但如果我选择“Debugger”选项卡,我会收到“无法连接”。
第二个调试控制台“Debug Web slave#1”: 我在控制台上什么都没有,但我在调试器选项卡上“连接到127.0.0.1:1337”。
有时当我尝试访问网页时,我在网页上看到了类似的内容:
Type: connect
V8-Version: 3.14.5.9
Protocol-Version: 1
Embedding-Host: node v0.10.24
Content-Length: 0
当我运行调试模式时,Debug Web调试器选项卡尝试连接到大约30000的随机端口127.0.0.30xxx,但是失败然后显示“无法连接”。
有人知道发生了什么吗?因为我不...谢谢。
修改:
Error: Failed to lookup view "..\views\game\layout.ejs"
at Function.app.render (C:\wamp\www\Ayolan\web-server\node_modules\express\lib\application.js:493:17)
at ServerResponse.res.render (C:\wamp\www\Ayolan\web-server\node_modules\express\lib\response.js:798:7)
at C:\wamp\www\Ayolan\web-server\app\controllers\mainController.js:25:17
at Function.app.render (C:\wamp\www\Ayolan\web-server\node_modules\express\lib\application.js:495:14)
at ServerResponse.res.render (C:\wamp\www\Ayolan\web-server\node_modules\express\lib\response.js:798:7)
at module.exports.index (C:\wamp\www\Ayolan\web-server\app\controllers\mainController.js:13:13)
at callbacks (C:\wamp\www\Ayolan\web-server\node_modules\express\lib\router\index.js:164:37)
at param (C:\wamp\www\Ayolan\web-server\node_modules\express\lib\router\index.js:138:11)
at pass (C:\wamp\www\Ayolan\web-server\node_modules\express\lib\router\index.js:145:5)
at Router._dispatch (C:\wamp\www\Ayolan\web-server\node_modules\express\lib\router\index.js:173:5)
答案 0 :(得分:1)
点击“运行:
”D:\Logiciels installés\nodejs\node.exe" --debug-brk=1337 web-server\app.js debugger listening on port 1337
但如果我进入网页,我什么都没有,只是这个错误:
Code d'erreur : ERR_CONNECTION_ABORTED.
这是预期的,因为你的“调试Web”运行配置有“--debug-brk = 1337”参数,这使得Node.js应用程序在启动后立即暂停。要恢复它,应该使用相同的端口启动Node.js远程调试会话。
现在,如果我在调试模式下运行它,则会打开两个调试控制台:Debug Web:
"D:\Logiciels installés\nodejs\node.exe" --debug-brk=29855 --debug-brk=1337 web-server\app.js debugger listening on port 1337 ...
请注意,命令行包含两个重复的参数“--debug-brk = 29855”和“--debug-brk = 1337”。第一个参数“--debug-brk = 29855”由WebStorm附加,第二个参数取自“Debug Web”运行配置的“节点参数”字段。
WebStorm假设应用程序已准备好在端口29855上进行调试并等待连接。但根据输出(“调试器侦听端口1337”行),应用程序的调试器实际上是在端口1337上启动的。
接下来发生的事情是WebStorm看到另一个调试端口(1337)被打开并假设它是子节点进程的调试端口。因此,WebStorm启动与1337端口关联的“Node.js远程调试”运行配置。这就是你看到第二个控制台(“Debug Web slave#1”)的原因。
“Debug Web slave#1”控制台使用端口1337恢复应用程序执行。但是“Debug Web”控制台正在等待来自端口29855的连接(这就是为什么你看到“无法连接”)。
只需在“节点参数”字段中删除“--debug-brk =”(“调试Web”运行配置),它应该按预期工作。
希望这会有所帮助。
答案 1 :(得分:1)
Error: Failed to lookup view "..\views\game\layout.ejs" at Function.app.render (C:\wamp\www\Ayolan\web-server\node_modules\express\lib\application.js:493:17) ...
不太可能是由环境变量引起的,因为默认情况下父环境变量会传递给应用程序。但是我建议你通过点击https://docs.google.com/file/d/0ByzbHcAxmCyvQ1ZqZTFhREpZNGM/edit上的“环境变量”来确保传递父环境变量(应该选中“包含父环境变量”)。
更可能错误地指定“工作目录”。确保它与从控制台启动应用程序时相同。