生产构建后如何解决Angular给定的错误(未定义订阅)?

Posted

技术标签:

【中文标题】生产构建后如何解决Angular给定的错误(未定义订阅)?【英文标题】:How to resolve the given error by Angular after production build(Subscription is not defined)? 【发布时间】:2020-09-27 12:49:41 【问题描述】:

我有一个在 ng build 中运行良好并提供给我的 ASP.net 核心 Web 服务器的 Angular 应用程序,但是当我通过 ng build --prod 命令构建相同的应用程序时,项目构建成功但是当我为我的 wwwroot 文件夹提供服务时在网络服务器中我收到此错误:-

Uncaught ReferenceError: Subscription is not defined
at Module.zUnb (main.2fbc30c2b70c6b016365.js:1)
at f (runtime.8844839a3cc2e01b8d02.js:1)
at Object.0 (main.2fbc30c2b70c6b016365.js:1)
at f (runtime.8844839a3cc2e01b8d02.js:1)
at t (runtime.8844839a3cc2e01b8d02.js:1)
at Array.r [as push] (runtime.8844839a3cc2e01b8d02.js:1)
at main.2fbc30c2b70c6b016365.js:1

网页上什么也没有。我已在网上阅读过此内容,但无法解决此错误。 此错误可能是什么原因或我该如何解决。请不要介意我最近开始使用 Web 开发。谢谢。

更新 1: 在运行 ng serve --prod sourceMap=true 时出现此错误:-

Uncaught ReferenceError: Subscription is not defined at 
Module.zUnb (SubjectSubscription.js.pre-build-optimizer.js:7) 
at f (bootstrap:78) 
at Object.0 (main.b3059a947fcd0e8a64b5.js:1) 
at f (bootstrap:78) 
at t (bootstrap:45) 
at Array.r [as push] (bootstrap:32) 
at main.b3059a947fcd0e8a64b5.js:1

更新 2: 使用 ng serve --prod sourceMap=true 命令会出现此额外警告:-

警告是否与我的错误有关。我还检查了我的代码中的订阅,它们似乎没有任何错误。

【问题讨论】:

做一个ng serve --prod --sourceMap=true,你可以在本地检查哪里出错了 在订阅前立即检查调用中的语法错误,例如没有大括号的多语句箭头函数 @PoulKruijt 我已经尝试过你的方法,但我得到了 Uncaught ReferenceError: Subscription is not defined at Module.zUnb (SubjectSubscription.js.pre-build-optimizer.js:7) at f (bootstrap: 78) 在 Object.0 (main.b3059a947fcd0e8a64b5.js:1) 在 f (bootstrap:78) 在 t (bootstrap:45) 在 Array.r [as push] (bootstrap:32) 在 main.b3059a947fcd0e8a64b5.js:1 @theburningfire 很难判断哪里可能出错。它看起来不像第三方库,因为它来自main.js,这意味着它是您自己的源代码。您应该检查所有代码以确保始终从rxjs 导入Subscription。如果可能的话,您可以共享您的存储库,我(或其他人)可以看看 检查此问题及其答案是否对您有用:***.com/questions/54444516/… 【参考方案1】:

我在 Luciano 的评论中找到了这个问题的答案。

Angular6 - Prod build fails to access

基本上是 package.json 中的 Rxjs 包问题。

这可能对某人有帮助。谢谢。

【讨论】:

以上是关于生产构建后如何解决Angular给定的错误(未定义订阅)?的主要内容,如果未能解决你的问题,请参考以下文章

不允许在 chrome 上加载本地资源 - 错误,生产构建后 Angular 应用程序未运行

如何解决错误类型错误:这是未定义的 [Angular]

如何解决[重复]的生产构建问题

如何解决“包“@angular-devkit/build-angular”没有定义构建器”错误

生产构建后重新加载Angular 6应用程序中断

angular v8 - 如何在开发模式下也获得生产构建模板错误