控制台错误:ng.probe不是函数

时间:2019-05-30 06:43:31

标签: javascript angular

昨天我将ng cli和core更新为8.0.0v。之后,成功启动一个新应用程序并运行它。有一次在构建应用程序并在localhost:4200上提供服务时,我打开控制台,出现错误:ng.probe不是函数

我尝试研究此问题,但没有相关信息。

实际结果: ng serve / npm启动后,控制台中出现问题:Uncaught TypeError:ng.probe不是函数。 Current console state Current angular state

预期结果: 控制台中没有错误

7 个答案:

答案 0 :(得分:18)

如果有人正在寻找替代方案:

ng.probe($0)

在Ivy中,请尝试以下操作:

 ng.getComponent($0);

在这里找到它,https://juristr.com/blog/2019/09/debugging-angular-ivy-console/

我想在这里添加它以完成操作。

关于ng.getComponent的注意事项:您必须将焦点标签(例如<app-my-component>)放在开发人员工具元素中,以使其位于$ 0中。它不会在层次结构中搜索父组件(就像ng.probe一样)。

答案 1 :(得分:5)

如果您使用的是Augury扩展名,请禁用或删除它。然后,检查控制台。我遇到了同样的问题,因此删除了Augury。

Augury具有一组不同的调试API,这就是发生此错误的原因。

答案 2 :(得分:3)

是的,如果存在window.ng,则预示功能会假定角度dev模式处于活动状态,但ivy现在不会导出探针

angular ivy exports 我有预言,但是禁用扩展程序后,再也没有错误。

答案 3 :(得分:1)

在tsconfig.app.json中,您也可以在没有常春藤的情况下运行

"angularCompilerOptions": { "enableIvy": false }

答案 4 :(得分:0)

这是带有here讨论的Augury chrome扩展名的内容。希望对您有所帮助:)

答案 5 :(得分:0)

在创建新项目并将CLI更新到v8.3.4(此时最新)之后,我遇到了同样的错误

使用npm install [item] @version,我必须将CLI还原到v8.0.3 并在适用的情况下将Angular核心和相关的角度依赖性还原为8.0.1。

我也将打字稿恢复为3.4.5,因为我是Angular 8.0.1所需的更高版本。

有点痛苦,但为我解决了这个问题。希望对别人有帮助。

注意:您可能必须还原到与我在此处使用的版本不同的版本,或者确保所使用版本的一致性。这只是解决此问题的指南。

enter image description here

答案 6 :(得分:0)

这与这个问题并不完全相关,但谷歌搜索将我带到了这里。所以,我把我的问题的解决方案留在这里,希望它能帮助面临同样问题的其他人。

当我使用 dotnet sdk(版本 5.0.300) 创建 angular 项目并在本地运行它时,我遇到了 encrypted: ☼⟈⮪e decrypted: awesome 错误。该项目使用的是 @angular/core v8.2.12@angular/cli v8.3.29

我能够通过使用 -

更新这些包来解决问题

ng.probe not a function

ng update @angular/core@8 @angular/cli@8