Флаг --prod
включает компиляцию Angular AOT и имеет некоторые ограничения относительно того, как нам нужно писать код.
1) login-register.component.html (19,36): Свойство 'onLogin' не существует для типа 'LoginRegisterComponent'.
Это означает, что шаблон определяет метод onLogin
, но вы не определили его для LoginRegisterComponent class.
export class LoginRegisterComponent implements OnInit {
onLogin() { <== must be here
}
2) login-register.component.html (85,42): свойство 'resisterUser' не существует для типа 'LoginRegisterComponent'
то же, что и выше:
export class LoginRegisterComponent implements OnInit {
onLogin() {
}
resisterUser() { <== add this
}
3) note-form.component.html (89,15): предоставляемые параметры не соответствуют ни одной сигнатуре цели вызова.
В note-form.component.html
вы вызываете метод addText
без параметров:
(click)="addText()"
, а в компоненте вы определяете этот метод с обязательным параметром textValue
addText(textValue: any) {
...
}
Чтобы исправить это, просто сделайте его необязательным
addText(textValue?: any) {
...
}
4) note-form.component.html (95,15): Поставляемые параметрыне соответствует ни одной подписи цели вызова.
То же самое с addCode
шаблон:
(click)="addCode()"
компонент:
addCode(codeValue: any) {
...
}
Исправлено:
addCode(codeValue?: any) {
...
}
5) Свойство configSettings не существует для типа.
Эта ошибка не имеет ничего общего с AOT, а скорее с Angular CLIограничение.
Форма вашей рабочей конфигурации должна соответствовать форме конфигурации разработки.
environment.ts
export const environment = {
production: false,
configSettings: {
baseURL: 'http://localhost:4200/api'
}
};
с конфигурацией выше васнеобходимо определить производственный конфиг с теми же свойствами, но у вас есть:
environment.prod.ts
export const environment = {
production: true,
baseURL: '/api'
};
Решение:
environment.prod.ts
export const environment = {
production: true,
configSettings: {
baseURL: '/api'
}
};