如果您使用JavaScript或已编译的Coffee(coffee -c -m script.coffee
)编写脚本,则使用node-inspector调试节点应用程序非常简单。
但是,使用coffeescript require
处理程序时:
require('coffee-script/register');
require('lib/component.coffee');
在我尝试使用node-debug
调试的脚本中,我得到:
(function (exports, require, module, __filename, __dirname) { #
^
SyntaxError: Unexpected token ILLEGAL
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
...
就像我require
文件一样。
我正在尝试做什么?我有几个CoffeeScript文件,我宁愿不每次我想测试时都要编译。
答案 0 :(得分:10)
是的,当然。我一直使用它,命令行看起来像这样:
node-inspector & coffee --nodejs --debug-brk ./scripts/mongoEtl.coffee
node-inspector & mocha --compilers coffee:coffee-script ./test/dataLayer-test.coffee --ui bdd --debug-brk
node-inspector --web-port=5870 & mocha --compilers coffee:coffee-script/register ./test/dataLayer-test.coffee --ui bdd --debug-brk=5880 -g 'my test name here'
我刚检查了最后一行,它正在运行并且有coffeescript要求。然而,当我调试时,我实际上看到的是javascript,而不是咖啡。我不知道是否可以使用node-inspector运行和调试coffeescript(编辑:是的,是的,需要使用源映射,但这超出了这个答案的范围)。我不相信它有价值 - 我认为能够很好地阅读javascript很好,所以我没有调查过它。
我认为您的问题可能出在编译中,您是否尝试过编译所需的文件?