When I refresh my website I get a 404. This is with Angular2, typescript and firebase.

我已使用Angular2应用部署到firebaseapp.

路由似乎变化很好,但当我刷新浏览器时,它会将我重定向到404页面.

当我在本地刷新时,这不会发生.

我是否缺少任何路由设置或Firebase设置?

This is my firebase.json file:

 {
   "firebase": "test",
   "public": "src",
   "ignore": [
     "firebase.json",
     "**/.*",
     "**/node_modules/**"
   ]
 }

推荐答案

Firebase托管的重定向和重写文档如下:https://www.firebase.com/docs/hosting/guide/url-redirects-rewrites.html

从那里:

如果要为多个URL显示相同的内容,请使用重写.重写对于模式匹配特别有用,因为您可以接受与模式匹配的任何URL,并让客户端代码决定显示什么.

您可能正在该页面上寻找第一个重写示例:

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

这是web服务器为任何传入请求提供服务的指令,无论路径是什么.

Typescript相关问答推荐

判断对象A中存在的对象B的键是否存在对象A中键的另一个数组值中

类型脚本中的Gnomeshell 扩展.如何导入.ts文件

React-Native运行方法通过监听另一个状态来更新一个状态

如何使用axios在前端显示错误体

在类型内部使用泛型类型时,不能使用其他字符串索引

泛型和数组:为什么我最终使用了`泛型T []`而不是`泛型T []`?<><>

在使用Typescribe时,是否有一种方法可以推断映射类型的键?

有没有办法解决相互影响的路由之间的合并?

React重定向参数

嵌套对象的类型

一个打字类型可以实现一个接口吗?

`fetcher.load`是否等同于Get Submit?

常量类型参数回退类型

是否有可能避免此泛型函数体中的类型断言?

将对象的属性转换为正确类型和位置的函数参数

S,为什么我的T扩展未定义的条件在属性的上下文中不起作用?

为什么TypeScrip假定{...省略类型,缺少类型,...选取类型,添加&>}为省略类型,缺少类型?

接口中可选嵌套属性的类型判断

如何将元素推入对象中的类型化数组

如何在TypeScript中声明逆变函数成员?