【问题标题】:ng build --prod throws services undefined or 'not a function' errorng build --prod 抛出服务未定义或“不是函数”错误
【发布时间】:2020-10-02 00:38:47
【问题描述】:

我有一个 Angular 8 应用程序,我想构建并尝试运行“ng build --prod --aot”,文件被缩小和丑化,它还显示索引页面,但是当我尝试登录时,服务需要登录抛出“。不是函数或未定义”

注意:ng build 没问题,css 没问题,我看源码,js 已经加载,但还是抛出未定义的错误

【问题讨论】:

  • 在您的模板或代码中,您正在使用带有点的注销属性,例如 obj.logout?
  • 是的,而且更重要的是,与登录相关的函数没有被触发,因为它被标记为未定义,即 getUser 函数,即使它被缩小、丑化并加载到索引中的捆绑包中.html
  • 给我们看一些代码。
  • 当我在控制台中单击该未定义函数时,它甚至可以准确定位到代码中的位置。我一直在寻找答案和相同的问题,但没有任何显示,接近它的是stackoverflow.com/questions/37558656/…,我也尝试了解决方案,但无济于事,它只是指向应用程序的正确 url。再次应用程序很好,但功能不会触发
  • imgur.com/iqyBV0R 突出显示的是函数。它指向服务中的功能。这很好,并且正在开发中。对不起,我不知道我应该给你看什么。也许是 angular.json?

标签: angular angular8 production


【解决方案1】:

对于同样遇到此错误的任何人,我已通过省略解决此错误 { providedIn: 'root' }

在我的 Service 的 @Injectable 中,并将其注入到我的 app.module 中的 providers 数组中

似乎由于 ng build 我的服务在生产中变得未定义,我不知道如何,但是当我省略它时它起作用了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 2022-09-25
    • 2019-07-15
    • 1970-01-01
    • 1970-01-01
    • 2020-04-17
    • 1970-01-01
    相关资源
    最近更新 更多