有人知道调试服务器端代码的好方法吗? 我尝试启用 Node.js 调试,然后使用 node-inspector,但它没有显示我的任何代码。
我最终使用了console.log,但这非常低效。
更新:我发现以下过程适用于我的 Linux 计算机:
当您运行 Meteor 时,它将生成两个进程
进程1:/usr/lib/meteor/bin/node/usr/lib/meteor/app/meteor/meteor.js
process2:/usr/lib/meteor/bin/node/home/paul/codes/bbtest_code/bbtest02/.meteor/local/build/main.js --keepalive
您需要在进程2上发送kill -s USR1
运行node-inspector,您可以看到您的服务器代码
在我的第一次尝试中,我将/usr/lib/meteor/bin/meteor 中的meteor启动脚本的最后一行修改为
exec "$DEV_BUNDLE/bin/node" $NODE_DEBUG "$METEOR" "$@"
并在命令提示符下运行NODE_DEBUG=--debug Meteor
。这只会在 process1 上放置 --debug 标志,所以我只能在节点检查器上看到 meteor 文件,而找不到我的代码。
有人可以在 Windows 和 Mac 计算机上检查这个吗?
最佳答案
在 Meteor 0.5.4 中,这变得更加容易:
首先从终端运行以下命令:
npm install -g node-inspector
node-inspector &
export NODE_OPTIONS='--debug-brk'
meteor
然后在浏览器中打开http://localhost:8080
以查看节点检查器控制台。
更新
从 Meteor 1.0 开始,您只需键入
meteor debug
这本质上是上述命令的快捷方式,然后如上所述在浏览器中启动节点检查器。
更新
在 Meteor 1.0.2 中添加了控制台或 shell。在服务器上输出变量和运行命令可能会派上用场:
meteor shell
关于debugging - Meteor:服务器端调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11034941/