如何使用Angular 2和Firebase Hosting为我的路线配置普通网址?
示例路线: https://mywebsite.com/privacy-policy
我尝试将我的网站加载到使用这种方式定义的路由的Firebase托管,但我无法导航到我的路由。
我的解决方法是为类似以下内容的路由引入哈希标记策略 -
@NgModule({
declarations: [...
],
imports: [
...,
RouterModule.forRoot([
{path: 'privacy-policy', component: PrivacyPolicyComponent},
.....
{path: '**', component: PageNotFoundComponent}
])
],
providers: [{provide: LocationStrategy, useClass: HashLocationStrategy}, ...],
bootstrap: [AppComponent]
})
答案 0 :(得分:2)
您必须设置firebase项目以将每个请求转发到index.html。
在firebase init
期间,系统会询问您是否要重定向所有请求,也许您的回答是否为..
将此添加到您的firebase.json
"hosting": {
"public": "dist",
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
}