angular - 具有不可预测名称的子文件夹中的 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,例如:
我无法预测主机名和路径名。
所有这一切都很好,因为我从应用程序根目录开始导航并通过链接导航,但其中一个要求是使用深度链接,我设置了所有路线并且它们也运行良好,但是当我从深度开始导航时一切都崩溃了路由(即刷新浏览器页面),例如:
如果我从根目录加载应用程序,这些路由运行良好,但在子路由中,我的浏览器无法找到所有文件。
这是因为浏览器要求的文件
附加信息
- 网络服务器是 Apache,我对此没有控制权或可见性;
- 在正确提供 index.html 的每个场景中,至少对于第一个文件可能存在正确的重写规则;
- 我尝试使用另一个答案的片段来设置 APP_BASE_HREF,但这种方法不适用,因为我的应用程序中没有加载每个 JavaScript 文件;
- 我认为我可以解决我在每次安装中修改 .htaccess 文件的问题,但我正在等待系统登录,但它可能不可用。
我怎样才能使这项工作?
解决方案
推荐阅读
- c# - WPF XAML 文件中的 ObjectDataProvider.ConstructorParameters 疑难解答
- python - 在 pandas 数据框中从“年-月-日”格式中删除年份
- python - python - 将geopandas与python一起使用时如何使形状文件中的线条更粗?
- r - 在 r 中的组条件下从另一个数据帧中找到最接近的对值
- ruby-on-rails - Rails 5 中单个页面上的多个 Ajax 链接
- mongodb - 查询此文档的正确方法是什么?(如果索引正确)
- javascript - 如何正确地将来自多个嵌套查询的数据映射到所需的对象。反应/火力基地
- sql - 是否有一个 sql 函数可以查看输出并判断一个单元格和它上面的单元格是否相等?
- c - 是否有将读/写功能标记为线程安全功能的官方文档?
- visual-studio-code - VS Code 状态栏左侧的 >< 图标是什么?