我的包json有"@angular/router": "3.0.0"
我的应用路线:
export const routeConfig: Routes = [
{path: '', redirectTo: 'use-cases', pathMatch: 'full'},
{path: 'use-cases', component: UseCasesComponent},
{path: 'add', component: AddComponent},
{path: 'github', component: RepoBrowserComponent,
children: [
{path: '', component: RepoListComponent},
{path: ':org', component: RepoListComponent,
children: [
{path: '', component: RepoDetailComponent},
{path: ':repo', component: RepoDetailComponent}
]
}]
}
];
但是当我访问我的应用程序时,我仍然会在网址的基础上得到/#/
。
答案 0 :(得分:1)
默认情况下,Angular使用PathLocationStrategy
(不含/#/
)。
如果您提供
providers: [{provide: LocationStrategy, useClass: HashLocationStrategy}]
代码中的某处,路由器使用/#/
。
这通常是因为当使用没有HTML5 pushState支持的服务器时,PathLocationStrategy
会导致404
错误。
如果您的服务器支持HTML5 pushState,只需删除上面的提供程序。