生产构建后如何解决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 应用程序未运行