gpt4 book ai didi

angular - 找不到管道 ' ' - Angular 升级后出错

转载 作者:太空狗 更新时间:2023-10-29 17:49:11 25 4
gpt4 key购买 nike

我正在尝试将 Angular 4 升级到最新版本 (7.0.3),在生产编译之前一切都很好。在其中我收到了:

ERROR in : Template parse errors:
The pipe 'filter' could not be found ("v class="form-group">
<ul class="ui-select-list">
<li [attr.name]="item.id" *ngFor="let [ERROR ->]item of data | filter : qModel" innerHtml="{{ 'AAA' | translate }}"></li>
</ul>
</div>
"): C:/x/src/app/components/ui/fields/combo/ui.combo.html@2:44
The pipe 'translate' could not be found ("s="ui-select-list">
<li [attr.name]="item.id" *ngFor="let item of data | filter : qModel" inn[ERROR ->]erHtml="{{ 'AAA' | translate }}"></li>
</ul>
</div>
"): C:/x/src/app/components/ui/fields/combo/ui.combo.html@2:79

为了重现错误,我从我的代码创建了一个最小存储库:https://github.com/ptrstpp950/myBugInAngular

结果如下:

  • ng build --prod app 产生上述错误
  • ng build app 100% 正常运行

我尝试阅读共享模块中的管道,我尝试根据指南进行更改,但仍然没有成功。

最佳答案

从你的 tsconfig.json 看来你正在 Angular 7 项目中使用 Ivy 渲染器

如下-

"angularCompilerOptions": {
"enableIvy": true
}

您可以将其设为 "enableIvy": false 并再次尝试生产构建。

在生产构建 (ng build --prod) 期间,由于 tree shaking,它会移除管道。 Ivy 还不完全兼容,只能用于测试目的。在使用 Ivy 之前,您需要运行 ngcc 将 Ivy 之前的包转换为包含 Ivy 定义,ngcc 是来自 @angular/compiler-cli< 的命令行工具

请引用以下有关 Ivy 渲染器的链接

https://github.com/angular/angular/blob/master/packages/core/src/render3/STATUS.md#implementation-status

https://github.com/angular/angular/issues/26436

关于angular - 找不到管道 ' ' - Angular 升级后出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53339559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com