1

我将 browserify (13.0.0) 与 reactjs (0.14.7) 和 Chrome 版本 48 一起使用。不幸的是,我的断点在 Chrome 开发工具中不起作用。

我将 --debug 选项传递给 browserify 以提供用于调试目的的源映射。$ browserify static/js/App.js --debug -o static/js/build/bundle.js

我正在使用 watchify 进行热重载: $ watchify static/js/App.js -t babelify -p livereactload -o static/js/build/bundle.js -v

我得到了源映射,但是当我尝试设置断点时,断点会跳转到不同的行并且它永远不会真正停止?

如果我添加调试器;编码它不会在调试器行上停止并且单步执行没有按正确的顺序执行?

我认为问题出在源地图上,但不知道如何解决?

请注意,我正在尝试在 componentDidMount 中设置断点,并且我有一个正在调用的 console.log 调用。在任何时候设置的断点都不会被执行。

任何见解都值得赞赏。

更新:经过更多调试后,问题似乎与 watchify 有关。如果我不使用热重载,调试器会按预期停止在代码中。

在代码中设置调试器时,它也不会停在正确的行上。您可以在下图中看到,尽管在第 20 行设置了断点,但它并没有止步于此。此外,它不会在第 21 行的调试器语句处停止。相反,它会在第 23 行停止,然后跳过调用的行为很奇怪。请注意,如果调试器语句不存在,它将不会停止通过 Chrome 设置断点。

调试器的屏幕抓取

洞察力仍然赞赏。

4

0 回答 0