繁体   English   中英

旧的Angular 2项目-成功的生产版本具有javascript运行时错误

[英]Old Angular 2 project - successfull production build has javascript runtime errors

我有一个相当老的Angular 2项目。 Angular CLI 1.3.1(当前最新版本是6.2.3)。

我可以成功构建用于开发和生产的项目。

开发运行良好。

生产版本具有javascript运行时错误,这些错误似乎是由于错误的丑化造成的:

“未捕获的TypeError:无法在Object。+ nms处n(inline.929671279f1ce76b75d9.bundle.js:1)在Object.oxwE(vendor.a1c77430ed052dea4a8f.bundle.js:1)处读取未定义的属性'a'。在Object.cDNt(main.df67f626aab78f9b8645.bundle.js:1)在n(inline.929671279f1ce76b75d9.bundle.js:1)在Object.cDNt(main.df67f626aab78f9b8645.bundle.js:1)在n(inline.929671279f1ce76b75d9.bundle.js:1)在n(inline.929671279f1ce76b75d9.bundle.js:1)在n。在window.webpackJsonp(inline.929671279f1ce76b75d9.bundle.js:1)的n(inline.929671279f1ce76b75d9.bundle.js:1)处为0(main.df67f626aab78f9b8645.bundle.js:1)在main.df67f626aabbf1: “

这是一个新问题,过去曾经起作用。

我试图通过添加--build-optimizer = false来禁用uglify:

ng build --prod --base-href=/backoffice/ --build-optimizer=false

根据这些文档: https : //github.com/angular/angular-cli/wiki/1-x-build

它对构建结果的影响似乎为零。

将项目升级到最新的角度版本将是令人惊讶的,但是它建立在一个模板之上,该模板具有我不熟悉的许多依赖关系,这些依赖关系无疑得到了适当的维护。 在那些依赖项出错了几个小时之后,我放弃了这个方向。

尝试使用以下cmd禁用AOT:

ng build --prod --base-href=/backoffice/ --aot=false

我认为这种方式值得一试。

正如我的亲身经历告诉我的那样,每当Angular出现生产构建错误时,其中95%与AOT有关。

对于这个传统的Angular 2项目,我想您不必坚持下去,因为它毕竟是一个非常古老的项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM