Angular 2 Firebase Hosting似乎需要哈希标记

时间:2016-12-19 03:50:38

标签: angular firebase firebase-hosting

如何使用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]
})

1 个答案:

答案 0 :(得分:2)

您必须设置firebase项目以将每个请求转发到index.html。

firebase init期间,系统会询问您是否要重定向所有请求,也许您的回答是否为..

将此添加到您的firebase.json

  "hosting": {
    "public": "dist",
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }