【问题标题】:Old Angular 2 project - successfull production build has javascript runtime errors旧 Angular 2 项目 - 成功的生产构建有 javascript 运行时错误
【发布时间】:2018-09-25 00:41:33
【问题描述】:

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

我可以成功地为开发和生产构建项目。

开发运行良好。

生产版本有 javascript 运行时错误,这似乎是由于糟糕的 uglification:

“未捕获的类型错误:无法读取未定义的属性'a' 在 Object.oxwE (vendor.a1c77430ed052dea4a8f.bundle.js:1) 在 n (inline.929671279f1ce76b75d9.bundle.js:1) 在 Object.+nms (vendor.a1c77430ed052dea4a8f.bundle.js:1) 在 n (inline.929671279f1ce76b75d9.bundle.js:1) 在 Object.cDNt (main.df67f626aab78f9b8645.bundle.js:1) 在 n (inline.929671279f1ce76b75d9.bundle.js:1) 在 Object.0 (main.df67f626aab78f9b8645.bundle.js:1) 在 n (inline.929671279f1ce76b75d9.bundle.js:1) 在 window.webpackJsonp (inline.929671279f1ce76b75d9.bundle.js:1) 在 main.df67f626aab78f9b8645.bundle.js:1"

这是一个新问题,过去它曾经有效。

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

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

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

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

将项目升级到最新的 Angular 版本会非常棒,但它是建立在一个模板之上的,该模板有许多我不熟悉的依赖项,这些依赖项都得到了适当的维护。在这些依赖项出现几个小时的错误后,我放弃了那个方向。

【问题讨论】:

    标签: angular


    【解决方案1】:

    尝试使用以下 cmd 禁用 AOT:

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

    这是我认为值得一试的方式。

    我的个人经验告诉我,每次 Angular 出现生产构建错误时,95% 都与 AOT 相关。

    对于这个遗留的 Angular 2 项目,我想你不必坚持下去,因为它是一个非常古老的项目。

    【讨论】:

      猜你喜欢
      • 2013-10-28
      • 1970-01-01
      • 2019-04-17
      • 2018-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多