Почему угловая маршрутизация добавляет к URL-адресу хэштег # - PullRequest
0 голосов
/ 06 февраля 2019

Используемая версия

Угловая версия: 7.10 @ angular / router ":" ~ 7.2.0 ",

Вопрос:

Почему angular добавляет хэш-тег к URL.

Пример:

const routes: Routes = [
  {
    path: 'aktion',
    component: AktionComponent
  }

соответствует URL

http://localhost:4200/aktion

, но не соответствует URL

http://localhost:4200/#/aktion

Ответы [ 3 ]

0 голосов
/ 06 февраля 2019

В модуле приложения сделайте вот так

@NgModule({
  imports: [
  // other imports
    RouterModule.forRoot(routes, { useHash: true }) //make it false
  ],
  declarations: [
  ],
  providers: [

  ],
  bootstrap: [ AppComponent ]
})
export class AppModule { }
0 голосов
/ 06 февраля 2019

Если вы используете PathLocationStrategy, то сервер должен быть настроен на отправку error page также как index.html, так как обычно это приводит к 404, а Angular должен анализировать маршрут.

Чтобы избежать хлопот, можно использовать HashLocationStrategy, поскольку любая часть после # игнорируется сервером и анализируется только из браузера.Следовательно, у вас есть #.Чтобы удалить его, вы можете обновить RouterModule configuration, как показано в других ответах.

RouterModule.forRoot(AppRoutes, { useHash: false }),
0 голосов
/ 06 февраля 2019

Если вы добавили эту строку в модуль приложений, она добавляет #

   RouterModule.forRoot(AppRoutes, { useHash: true }),
...