首页 > 解决方案 > 具有不可预测名称的子文件夹中的 Angular 应用程序

问题描述

我有一个自动部署到多个位置的 Angular 7,我无法为基本 href 设置静态值,因为我事先不知道文件夹名称。

生成的 index.html 如下所示:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>App name</title>
    <base href="./">
    <link rel="icon" type="image/x-icon" href="favicon.ico">
    <link rel="stylesheet" href="styles.[hash].css">
  </head>
  <body>
    <app-root></app-root>
    <script type="text/javascript" src="runtime.[hash].js"></script>
    <script type="text/javascript" src="polyfills.[hash].js"></script>
    <script type="text/javascript" src="main.[hash].js"></script>
  </body>
</html>

此应用程序会自动部署到不同的 uri,例如:

我无法预测主机名和路径名。

所有这一切都很好,因为我从应用程序根目录开始导航并通过链接导航,但其中一个要求是使用深度链接,我设置了所有路线并且它们也运行良好,但是当我从深度开始导航时一切都崩溃了路由(即刷新浏览器页面),例如:

如果我从根目录加载应用程序,这些路由运行良好,但在子路由中,我的浏览器无法找到所有文件。

这是因为浏览器要求的文件

附加信息

我怎样才能使这项工作?

标签: angularpathdeep-linking

解决方案


推荐阅读