VSCode 和 Stencil (tsx):`debugger` 语句不会将浏览器置于调试模式

VSCode and Stencil (tsx): `debugger` statement doesn't put browser into debug mode

我对调试 JavaScript 很陌生,更不用说 Typescript,更不用说使用 tsx 文件(我假设是某种类型的反应式 Typescript 文件)的 Stencil 项目了。

我希望通过在代码中添加 debugger 语句,在 Chrome 中使用刷新,调试工具会出现。但是没有任何反应。如果我在同一个地方添加 console.log ,它会按预期运行。但是 debugger 语句没有任何反应。

怎么办?我不想到处调试大量 console.log

顺便说一下,我正在使用 VSCode。不知道这是否相关。我在 https://github.com/microsoft/vscode-js-debug 中读到 JavaScript 调试应该内置到 VSCode 中。我不在乎我是在 VSCode 内部调试还是在 Chrome 内部调试 - 只要我能够以某种方式进行调试。

这里是存储库,如果有人想试一试或检查配置文件:https://github.com/NothingAG/adg-components

非常感谢。

显然构建工具 (nx) 运行生产构建,这就是 debugger 语句被自动过滤掉的原因。

要修复它,您可以 explicitly instruct Stencil to run a development build:

npm start -- --dev

您可以随时在 Chrome 开发人员工具中添加断点,而不是在代码中添加 debugger 语句。

  1. 在浏览器中加载您的应用程序
  2. 在 Chrome 中打开开发人员工具(例如在页面上 right-click 并选择“检查”)
  3. 在 Developer Tools 中选择选项卡“Sources”
  4. 点击 command-P 打开您要调试的文件。将出现一个输入字段,您可以在其中输入要调试的文件的名称
  5. 通过单击装订线中的行号添加断点

下次您的应用遇到断点时,调试器就会出现。