在过去的一天半里,我一直在努力解决这个问题,但仍然没有取得任何进展。目前,我正在尝试加载我的角度应用程序,并在应用程序引导时将其默认为特定页面。不幸的是,它重定向到不同的路线。
我想去:
https://clwd0002278/ControlTower/NICK/UI/#/
但是,当我最初加载时,它会转到https://clwd0002278/ControlTower/NICK/UI/#/ControlTower/NICK/UI/
,这会导致404页面被点击。
我也会尝试使用与上面相同的结果转到https://clwd0002278/ControlTower/NICK/UI/
。
以下是代码,以便有人可以尝试理解这一点:
const routes: Routes = [
{path: '', redirectTo: 'patients', pathMatch: 'full'},
{path: 'dashboard', component: DashboardComponent},
{path: 'notifications', component: NotificationsComponent},
{path: 'patients', component: PatientListComponent},
{path: '404', component: NotFoundComponent},
{path: '**', component: NotFoundComponent},
];
@NgModule({
imports: [
RouterModule.forRoot(routes, {useHash: true})
],
exports: [RouterModule]
})
export class AppRoutingModule {
}
这是html页面上的base-href:
<base href="#">
我尝试在构建脚本中更改base-href
和deploy-url
,并完全省略它们。我只是不确定我现在缺少什么。
任何帮助将不胜感激,并询问您是否需要更多信息。
编辑:
该应用程序位于https://clwd0002278/ControlTower/NICK/UI/
, 位于https://clwd0002278/
。
答案 0 :(得分:0)
添加
<head>
<base href="/ControlTower/NICK/UI">
...
</head>
到index.html
或在AppModule中提供int
import { APP_BASE_HREF } from '@angular/common';
...
providers: [{APP_BASE_HREF, useValue: '/ControlTower/NICK/UI'}]
另见
答案 1 :(得分:0)
您的默认路线始终必须位于路径“**”之前。
{path: '404', component: NotFoundComponent},
{path: '', redirectTo: 'patients', pathMatch: 'full'},
{path: '**', component: NotFoundComponent},
答案 2 :(得分:0)
因此,事实证明,ngrx中有一些代码是从我们的基础项目包中提取的,这些代码一直将location.pathname放到angular / ngrx路由包的url的末尾。我很沮丧,却终于解决了这个问题而感到宽慰。
我评论了与此相关的减速器和初始状态以解决我的问题。所以,要小心ngrx如何与你的网址互动!