javascript - 将 Webstorm 调试器与 node.js 一起使用

标签 javascript node.js debugging webstorm

几周前我尝试让 webstorm 调试器工作,但没有成功。 我今天再次尝试,但我得到了相同的结果。

我正在遵循这些说明 http://www.jetbrains.com/webstorm/webhelp/running-and-debugging-node-js.html#d93421e461

这是我的配置,我实际上有三台服务器(使用 pomelo.js),一台用于网络,一台作为网络服务,托管在游戏服务器上,而游戏服务器基本上无法通过 http 请求直接访问。 (使用1500端口的webservice来访问)

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.

现在,如果我在 Debug模式下运行它,则会打开两个调试控制台: 调试网站:

"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)

但是如果我继续“调试器”选项卡,我会收到“无法连接”的消息。

第二个调试控制台“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 模式时,Debug Web 调试器选项卡尝试连接到 127.0.0.30xxx,一个大约 30000 的随机端口,但失败并显示“无法连接”。

有人知道发生了什么吗?因为我不...谢谢。

编辑:

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)

最佳答案

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 上的“环境变量”来确保传递父环境变量。 (应选中“包括父环境变量”)。

更可能的是错误指定了“工作目录”。确保它与从控制台启动应用程序时相同。

关于javascript - 将 Webstorm 调试器与 node.js 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21211132/

相关文章:

javascript - 使用 JQuery 启用和禁用点击事件

javascript - 多个 $http.get 操作并将信息保存在一个 $scope 变量中

windows - 在 native Windows node.js 中安装包

node.js - 无法通过 express/mongoose/angularjs 从 Mongodb 访问数据

java - 什么会导致 Eclipse 在调试时难以切换到正确的文件和行号

javascript - React hooks 上无限调用 API 的问题

javascript - 使用 Vue cli 创建项目时出现 core.js 错误

node.js - NodeJS 响应 shell 提示符

java - 启动相机导致 Android 崩溃

c++ - 附加到进程时,Visual Studio 不加载模块