路由URL包含一个片段(#)

时间:2019-01-17 21:23:53

标签: angular angular-routing

我正在研究托管在AWS s3存储桶上的角度应用程序(版本6)。

我的应用程序网址路由中有一个#,它不会中断我的路由或根本没有问题。无论如何,到目前为止,我都试图摆脱#并没有成功。

一个小例子:

http://localhost:4200/#/Login应该是http://localhost:4200/Login

哪种是摆脱#的最佳方式?

app-routing.module.ts

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';

 // ----- Import of all the Components
 ...

export const routes: Routes = [

  { path: '', component: LoginComponent },
  { path: 'Login', component: LoginComponent },
  { path: 'signup', component: signupComponent },
  { path: 'Password', component: PasswordResetComponent, data: {title: 'Passwort Reset'} },
  { path: 'password', component: PasswordResetComponent, data: {title: 'Passwort Reset'} },
  { path: 'confirmation', component: LoginComponent },
  { path: 'Error', component: ErrorPageComponent, data: {title: 'ERROR'} },

export const routing = RouterModule.forRoot(routes);

@NgModule({
   imports: [RouterModule.forRoot(routes)],
   exports: [RouterModule]
})
export class AppRoutingModule { }

app.module.ts 中,我仅导入AppRoutingModule

1 个答案:

答案 0 :(得分:1)

在您的app-routing.module中查找此行

RouterModule.forRoot(routes, {useHash : true}) //<= Change this boolean to false

目前有2种路由策略 看看这个单独的相关答案,以进一步了解差异

PathLocationStrategy vs HashLocationStrategy in web apps