小编End*_*ani的帖子

Angular App 从 V8 升级到 V9 后无法编译

我最近使用官方 Angular 站点提供的本指南将我的 angular 应用程序从 V8 更新到 V9 。我按照指南中的所有步骤操作,应用程序已成功更新,但现在当我尝试构建时,我收到大量与管道指令甚至我在模板中使用的组件相关的错误。

这是管道错误的一个示例:

无法在 NgModule 中声明“TimeAgoPipe”,因为它不是当前编译的一部分。

指令错误的另一个例子:

无法绑定到“ngModel”,因为它不是“input”的已知属性

这段代码在 Angular 8 上运行良好:

<input required name="password" class="form-control mr-sm-2" type="password" placeholder="Password" [(ngModel)]="model.password"/>
Run Code Online (Sandbox Code Playgroud)

它甚至无法找到我创建的组件,即使它们已在app.module.ts文件中声明。它给了我这个错误:

'app-nav' 不是已知元素:

  1. 如果 'app-nav' 是一个 Angular 组件,那么验证它是否是这个模块的一部分。

  2. 如果“app-nav”是一个 Web 组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到该组件的“@NgModule.schemas”以抑制此消息。

这是我的app.module.ts文件,其中包含未找到的所有内容:

<input required name="password" class="form-control mr-sm-2" type="password" placeholder="Password" [(ngModel)]="model.password"/>
Run Code Online (Sandbox Code Playgroud)

更新

Instinct 和https://github.com/AndrewPoyntz/time-ago-pipe/issues/33建议的解决方案有效。你必须记住在 angular.json 上禁用 AOT 编译

migration angular angular9

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

angular ×1

angular9 ×1

migration ×1