Angular 2 Firebase 托管似乎需要散列标记
Angular 2 Firebase Hosting appears to require the hash marking
如何使用 Angular 2 和 Firebase 托管为我的路由配置正常的 URL?
示例路线:
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]
})
您必须设置您的 firebase 项目以将每个请求转发到您的 index.html。
在 firebase init
期间,系统询问您是否要重定向所有请求,也许您的回答是否..
将此添加到您的 firebase.json
"hosting": {
"public": "dist",
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
}
如何使用 Angular 2 和 Firebase 托管为我的路由配置正常的 URL?
示例路线: 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]
})
您必须设置您的 firebase 项目以将每个请求转发到您的 index.html。
在 firebase init
期间,系统询问您是否要重定向所有请求,也许您的回答是否..
将此添加到您的 firebase.json
"hosting": {
"public": "dist",
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
}