Показать сообщение отдельно
  #1 (permalink)  
Старый 29.05.2019, 13:09
Интересующийся
Отправить личное сообщение для kotelok Посмотреть профиль Найти все сообщения от kotelok
 
Регистрация: 27.08.2018
Сообщений: 22

Не работает DI в проде
Есть класс внутри NS:
export namespace CatalogApi {

    @Injectable()
    export class CatalogService {
        constructor(private httpClient: HttpClient) {

Запуск через 'ng serve', всё ок.

Делаю сборку через 'ng build' (пробовал собирать с ключами '--prod' и '--aot').

Заливаю на сервер.
Захожу на страницу, где используется указанный выше класс и в его конструкторе получаю 'httpClient' равным 'undefined'. При этом тот же 'httpClient' нормально инжектится в другие конструкторы.

А если реализовать этот класс вне NS, то работает при любых типах сборки/публикации.

Все зависимости обновил/пофиксил.
Изначально Angular-7, обновление до Angular-8 не помогает.

Как это можно вылечить?

P.S.: NS очень удобны для остального кода, т.к. в них прячутся несущественные для внешнего кода детали реализации и через них же классы группируются в удобные логические блоки.

Последний раз редактировалось kotelok, 29.05.2019 в 13:12.
Ответить с цитированием