Ленивая загрузка без добавления сегмента маршрута для модуля
Чтобы реализовать отложенную загрузку в приложении Angular, нам нужно добавить маршрут модуля / главную страницу (/public/), а затем маршрут внутренней страницы (/contact-us), например
{ path: 'public', loadChildren: '../public/public.module#PublicModule' }
и внутри PublicRouting
{ path: 'contact-us', component: ContactUsComponent }
теперь для компонента ContactUs у нас есть URL-адрес http://myappurl/public/contact-us. Но я хочу реализовать отложенную загрузку, а также мне нужно получить доступ к странице со ссылкой вроде http://myappurl/contact-us, чтобы мои SEO-вещи работали должным образом. Я не хочу, чтобы каждая страница была модулем, а в моих модулях было несколько страниц.
2 ответа
Если вы хотите этого добиться: http://myappurl/contact-us
Заменить public
с '' в маршрутизации модуля
{ path: '', loadChildren: '../public/public.module#PublicModule' }
тогда больше ничего не меняй
Или:
Заменить public
с "связаться с нами" в модуле маршрутизации
{ path: 'contact-us', loadChildren: '../public/public.module#PublicModule' }
а затем внутри модуля маршрутизации public.module
{ path: '', component: ContactUsComponent , pathMath:"full" }
Это может быть ваше необходимое решение:
Заменить public
с `` в пути к модулю
т.е. { path: '', loadChildren: '../public/public.module#PublicModule' }
и пусть все останется прежним.
Итак, ваш последний путь будет http://myappurl/contact-us
Как не нужно особо указывать public
в пути вы будете автоматически перенаправлены на этот путь.