我有兴趣在代码运行时或之后检索代码中的变量值。我所知道的只有少数几个应用程序可以做到这一点。
Chrome DevTools:https://developers.google.com/web/updates/2015/07/07/preview-javascript-values-inline-while-debugging?hl=en
还有Wallabyjs:https://github.com/wallabyjs/public
这是如何实现的?是否有现成的NPM包?
答案 0 :(得分:1)
我是wallaby.js的创始人和核心开发人员,所以绝对可以回答第二部分,但会尝试回答这两个问题。
Re:Chrome DevTools:您可以使用Remote debugging protocol检索V8之后的数据。这就是WebStorm和其他一些集成的工作方式。
Re:Wallaby.js:我们在执行代码之前检测代码(为了提供代码覆盖率),并通过调用我们的API替换一些函数调用(例如console.log(obj)
):{{ 1}}。在tracer.log(obj)
中,我们只是通过遍历其属性合理的深度级别来转储对象,类似于how node.js console.log does it。