Ionic 4: программно настроить различные маршруты для мобильной и настольной версии при запуске приложения - PullRequest
0 голосов
/ 29 июня 2019

Мне нужно предоставить разные интерфейсы для небольших устройств «мобильных» и больших устройств «настольных» в Ionic 4 (на основе Angular 7). Однако кажется, что процесс компиляции / упаковки Ionic пропускает некоторые модули.

Я пытаюсь настроить различные маршруты при запуске на основе функции isMobile ().

// import { LoginPageModule as DesktopLogin } from './desktop/login/login.module';

// routes for desktop
const DESKTOP_ROUTES: Routes = [
  { 
    path: 'login',
    loadChildren: './desktop/login/login.module#LoginPageModule',
  }
];

// routes for mobile
const MOBILE_ROUTES: Routes = [
  { 
    path: 'login',
    loadChildren: './mobile/login/login.module#LoginPageModule',
  }
];

// switch between routes depending on where we are
const USED_ROUTES = isMobile() ? MOBILE_ROUTES : DESKTOP_ROUTES;

@NgModule({
  imports: [
// use the routes
    RouterModule.forRoot(USED_ROUTES, { preloadingStrategy: PreloadAllModules, 
      enableTracing: false })
  ],
  exports: [RouterModule]
})
export class AppRoutingModule { }

Приведенный выше код работает в режиме «рабочего стола», но для «мобильного» режима производит «Ошибка: не удается найти модуль» ./mobile/login/login.module'"

Я могу временно это исправить:

  1. ионная подача

  2. Подождите, чтобы увидеть ошибку

  3. Удалить комментарий перед импортом в модуль мобильного входа вверху

  4. См. Ionic compile для модуля мобильного входа в систему

  5. Теперь это работает, пока я не перезапущу ионную подачу

Кажется, я заставляю компилятор пропустить модуль

Можно ли это как-то исправить? Все, что мне нужно, это переключение между двумя различными наборами маршрутов на основе переменной среды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...