【问题标题】:Why is my debugger broken with links only to main.js为什么我的调试器只链接到 main.js
【发布时间】:2021-07-02 15:40:22
【问题描述】:

我正在努力调试我的 Angular 应用程序。这是我继承的一个应用程序,正在努力寻找它可能无法正常工作的原因。

当我尝试调试我的项目时,打开 chrome 调试器我得到的只是对 main.js 的引用

当我单击这些时,它不会将我带到正确的源代码行。

【问题讨论】:

  • 除非他们看到代码,否则没有人可以帮助您。 main.js 是构建文件,因此除非在开发环境中运行,否则您将看不到任何指向源文件的链接。你能做什么?检查代码并在从app.component开始的从上到下的方法中找到这个avatar
  • 是的,您似乎正在查看生产版本。那真的没有帮助。使用 ng 服务?
  • 以防万一您已经在使用 Angular 12:它默认使用生产版本。也许这就是为什么调试不能像以前那样工作的原因。
  • 我正在使用 angular 12 - 让我看看。
  • @StephanRauh 谢谢你的回答帮助了我,我也找到了这个stackoverflow.com/questions/67647471/…

标签: angular


【解决方案1】:

您的错误出现是因为在您的源代码中的某处,您正试图访问不存在的东西的属性。

在您的代码“.avatar”中进行全局搜索,并确保之前调用的属性具有值。

// This works
const something = {
    avatar: 'https://myavatar.com'
}
const tryingToAccess = something.avatar;


// This doesn't work
const something; // avatar was not defined inside

const tryingToAccess = something.avatar; // No avatar property, so the same error will appear.


【讨论】:

  • 嗨,Ricardo - 我知道这一点,抱歉,如果我不够清楚 - 我正在尝试找出调试器损坏的原因。所有调试行项目都是 main.js,当我点击它们时,不要像应该的那样转到源代码。
  • 哦,对不起。请在此处粘贴您的 angular.json。
【解决方案2】:

正如 cmets 中指出的那样。 Angular 12 默认为生产模式,因此捆绑了 javascript 文件。

您可以执行以下命令从 Angular 12 开始运行开发。

ng serve --configuration development --live-reload

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-04
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多