Убедитесь, что модули Ioni c предварительно загружены - PullRequest
0 голосов
/ 27 января 2020

Я сейчас разрабатываю приложение с Ioni c Angular. У меня есть некоторый код обработки ошибок для связи с сервером, такой как:

import { ModalController } from "@ionic/angular";

export class CallErrorService {
  public handleError(params: ErrorHandlingParams): PromiseLike<void> {
    this.retryDeferred = Q.defer();
    return this.modalController
      .create({
        component: ErrorBlockerComponent
      })
      .then(modal => {
        modal.present();
      });
    return this.retryDeferred.promise;
  }
}

. Это хорошо работает, когда сбой вызова происходит, когда сервер возвращает код ошибки (например, 500), но происходит сбой, если пользователь просто потерял соединение (проблемы с WiFi, потеря соединения и т. д. c.). В этом случае происходит то, что браузер пытается загрузить чанк для модалей Ioni c, но, поскольку соединение отсутствует, загрузка завершается сбоем и приложение вылетает, не показывая пользователю модальную ошибку.

Следовательно, я хотел бы знать, есть ли способ заставить Angular / Webpack предварительно загружать определенные c Ioni c модули, такие как модальный код, без необходимости вообще отключать разбиение кода.

(Я бы также уточнил, что в качестве стратегии маршрутизации у меня есть PreloadAllModules, поэтому кажется, что модули Ioni c по какой-то причине остаются в стороне.)

...