AngularJS HTML5Mode

9
我在我的Angular应用中使用HTML5模式来关闭哈希标记,这是因为我将为我的用户提供如下的URL:

http://myapp.com/nicklewis

与其:

http://myapp.com#/nicklewis

后者可行,但对于虚拟URL并不理想。
那么除了编写自己的NodeJS应用程序来解决此问题外,Firebase中是否有我可以利用或不利用的内容?

2
我们将在不久的将来(大约一个月或两个月内)为托管实现HTML重定向。我想没有服务器中介是无法完成这项工作的。 - Kato
这个 Kato 的状态是什么? - WJA
1个回答

16

Firebase最近进行了更新,其中包括此功能。您可以在firebase.json中像这样使用它:

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

这是他们文档中使用的代码示例,将发送任何未找到的目录或文件回到index.html。

重要的是要注意,您需要更新Firebase部署工具至1.1.0或更高版本才能使其正常工作:

version 1.1.0或更高版本

$ npm update -g firebase-tools

根据您的权限,您可能需要使用 'sudo'。

您可以在此处阅读文档:https://www.firebase.com/docs/hosting/guide/url-redirects-rewrites.html

您可以在此处阅读有关更新 Firebase 工具的信息:https://www.firebase.com/docs/hosting/guide/command-line-tool.html


这与HTML5模式和去除“#”有什么关系? - WJA
2
@JohnAndrews 这意味着所有不匹配现有文件的 URL 都会路由到 index.html,然后 Angular 会选择适当的应用程序路由(如果存在)。基本上他回答了你的问题。 - r3wt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接