如何在生产版本上升级 Angular 7 后修复“错误:模板解析错误:找不到管道‘异步’”

Posted

技术标签:

【中文标题】如何在生产版本上升级 Angular 7 后修复“错误:模板解析错误:找不到管道‘异步’”【英文标题】:How to fix "ERROR in : Template parse errors: The pipe 'async' could not be found" after Angular 7 upgrade on production build 【发布时间】:2019-09-06 15:36:29 【问题描述】:

我最近从 Angular 4 升级到 Angular 7,在运行 ng build --prod 时遇到了一些生产构建问题。我在标题中输入的错误来自 node_module 依赖项。但是,我在整个代码中注释了大约 15 个管道过滤器,以确保我在模块导入和依赖项方面没有做错任何事情,现在这会遇到 node_module 依赖项并以相同的错误破坏构建。

例如,如果我在我的代码中取消注释我的过滤器之一

    <td> item.registeredDate | date </td>

我收到以下错误:

    ERROR in : Template parse errors:
    The pipe 'date' could not be found ("<td>[ERROR ->]item.registeredDate | date </td>")

我可以提供更多细节。

谢谢,

【问题讨论】:

看来你需要在tsconfig: GitHub issue, SO answer 中禁用 ivy。 我这样做了,我收到以下错误:``` 错误:错误:内部错误:未知标识符未定义在 Object.importExpr$$1 [as importExpr] (path_to_my_project/node_modules/@angular/compiler /bundles/compiler.umd.js:24166:27) ``` 升级时是否按照update.angular.io中提到的步骤进行操作? 【参考方案1】:

我猜你尝试直接升级到 Angular 7。您不能从 4 迁移到 angular 7。 您应该升级到 angular 5,并构建一个 prod,(ng build --prod; ng serve)然后从 angular 5 升级到 6,最后升级到 7。

【讨论】:

以上是关于如何在生产版本上升级 Angular 7 后修复“错误:模板解析错误:找不到管道‘异步’”的主要内容,如果未能解决你的问题,请参考以下文章

tomcat 安全漏洞处理,线上升级tomcat

升级到 9.0 和 angular 7 后修复 angular-redux/store

在 CentOS 7 上升级 docker

Docker 在 centos 7上升级

在CentOS 7上升级docker

无法在 Mac Lion 上升级 Maven - 环境变量