我正在尝试使用带有 --prod 和 --aot 参数的 angular-cli 构建一个 Angular 2 项目。构建失败并出现以下错误:
Property 'required' does not exist on type '{ [key: string]: any; }'.
在我的 HTML 中,我在一些输入(必需,模式)上使用了 HTML5 验证器。使用 JiT 编译,这些工作按预期工作。只有在 AoT 编译期间才会出现错误。有没有人见过这个?我希望不必求助于使用 ReactiveForms 方法和使用 Angular Validators 来定义我的所有表单,除非没有办法。
问问题
269 次
1 回答
2
以下是一些会使 AoT 编译失败的事情。
- 不要对模板或样式使用 require 语句,使用 styleUrls 和 templateUrls,
angular2-template-loader
插件会在构建时将其更改为 require。 - 不要使用默认导出。
- 不使用
form.controls.controlName
,使用form.get(‘controlName’)
- 不使用
control.errors?.someError
,使用control.hasError(‘someError’)
- 不要在提供程序、路由或声明中使用函数,导出函数然后引用该函数名称
- @Inputs、@Outputs、View 或 Content Child(ren)、Hostbindings 以及您在模板中使用或为 Angular 注释的任何字段都应该是公开的
于 2017-03-27T21:48:42.293 回答