我尝试使用node-inspector调试meteor。
/ server目录下有两个'.js'文件:
main.js
Meteor.startup(function(){ var a = 1; var b =2; console.log(a+b); });
test.js
Meteor.methods({ hello:function(){ var c = 3 ; var d = 4; } });
首先,我设置了环境NODE_OPTIONS='--debug'
并运行meteor
。在另一个CMD运行node-inspector
我在Chrome上打开localhost:8080/debug?port=5858
找到文件“app / server / main.js”并在3行设置调试标志。像这样:
(function(Npm, Assets){(function(){Meteor.startup(function(){ var a = 1; var b =2; //debug at here console.log(a+b); }); })(); })
但没有任何事情发生,在cmd,console.log(a+b);
的结果已经打印出来了。另一方面,如果我在“app / server / test.js”中设置调试标志并在Meteor.call("hello")
的控制台上运行localhost:3000
,那么断点可以正常工作。
在上面,我无法在Meteor.startup
上进行调试。
接下来,我尝试使用NODE_OPTIONS='--debug-brk'
我重新运行meteor
并刷新localhost:8080/debug?port=5858
它会在
处中断(function (exports, require, module, __filename, __dirname) { process.argv.splice(2, 0, 'program.json');
然后我再次按F10
,调试标志似乎没有发生在app/server/main.js
。同时,如果在test.js上调试并在客户端chrome处调用Meteor.call
,那么断点也可以正常工作。
如何在函数Meteor.startup(function(){...})
我忘记的步骤是什么?