У меня проблема с моим приложением Angular 6.
URL моего приложения: my-server / my-app / index.html.
Когда приложение загружено, URL-адресавтоматически переписывается без "index.html".Это большая проблема, потому что глубокие ссылки не могут быть использованы.
Пример: my-server / my-app / deep-route-1/6
Приложение работает хорошо, но если пользователь хочетскопируйте / вставьте эту глубокую ссылку, сервер http ответит 404 (и я думаю, что это нормально).
Как решить эту проблему?
Вот мое объявление маршрутов:
const routes: Routes = [
//{ path: '', redirectTo: '', pathMatch: 'full' },
{ path: 'simulation/:id', component: SimulateurComponent, resolve: { vm: SimulationResolver } },
{ path: 'parametres/:nedt', component: ParamsComponent, resolve: { params: ParamsResolver } }
]
@NgModule({
imports: [ RouterModule.forRoot(routes) ],
exports: [ RouterModule ]
})
РЕДАКТИРОВАТЬ
После поисков кажется, что это новая особенность Angluar.io.Angular 6 использует «html 5 urls», поэтому он автоматически удаляет «index.html» в URL.
Чтобы противостоять этому, 2 решения: - сложное (переписать URL) - нет времени для его тестирования -Все просто: используйте технику angular.js:
@NgModule({
imports: [ RouterModule.forRoot(routes, { useHash: true }) ],
exports: [ RouterModule ]
})
export class AppRoutingModule {}
"usehash" - это магия;)