忽略debugging器; 在debugging会话期间Node.js中的语句

我有一个代码库,我有很多

debugger; 

声明。 有时我会debugging,实际上我只想跳过所有的debugging器; 语句,并只继续到我为debugging会话select的手动设置的断点,是否有一些Node.js偶然的设置来做到这一点?

换句话说,我想考虑debugger; 声明是长期占位符,但对于某些debugging会话,我想忽略这些长期占位符。

我过去使用的一个技巧就是使用babel去除debugging器语句:

请参阅: https : //www.npmjs.com/package/babel-plugin-remove-debugger

这可以用铬devtools完成。

你可以做:

 node --inspect --debug-brk index.js 

会产生这样的事情:

 chrome-devtools://devtools/remote/serve_file/@60cd6e859b9f557d2312f5bf532f6aec5f284980/inspector.html?experiments=true&v8only=true&ws=localhost:9229/9c2e4f37-4c3a-4477-b8da-2399c5d9819e 

只需复制并粘贴在铬上。

有一个选项可以禁用/启用所有的断点,而且chrome会记住您之前设置的所有断点。

请检查: --inspect查看更多信息。

快速和肮脏的方式(它的debugging,所以它的罚款真的)是坚持像脚本/ debugger.js像下面的脚本

 require.extensions['.js'] = function(module, filename) { var content = fs.readFileSync(filename, 'utf8').replace(/debugger/g, [ '(function() {', ' if (__debugger) {', ' debugger;', ' }', '})', ].join('\n')); module._compile(content, filename); }; 

然后用node -r ./scripts/debugger启动节点

在这里使用一个全局variables,这样,如果使用--inspectdebugging,可以从debugging器repl或chrome的repl中启用/禁用它。

技术上require.extensions已被弃用,但它不会被删除,并按预期工作。