将 Go Daddy 域与 Gitlab 页面一起使用导致我的资源被错误的路径引用

Using Go Daddy domain with Gitlab pages is causing my resources to be referenced with the wrong path

我已经将我的 Go Daddy 域的 DNS 配置为 link 到 gitlab 页面 URL 资源似乎是在使用项目名称的路径中寻找的,我正在努力理解因为在使用 gitlab URL:

时同样有效

使用gitlab的应用URL:

申请使用域名:

在第二张图片中,如果您删除 /mythosgames/ 路径,文件就位于那里,这正是我所期望的,我会认为: https://glentopherlamb.gitlab.io/mythosgames/ = https://glentophergames.co.uk/

所以我有点困惑为什么这条路径适用于 gitlab link,我希望两者都是错误的,任何人都可以指出正确的方向来解决这个问题。恐怕我有点不知所措。

导航到 https://glentophergames.co.uk/,打开浏览器开发工具,切换到“网络”,刷新页面 - 您会看到一些请求带有错误响应代码。

这是因为您指定了 publicPath(值为“mythosgames”),所以现在加载索引时,它会尝试从 /mythosgames/ 基本路径加载所有资源- 在您自己的域上加载页面时这是不正确的,因为在这种情况下它们应该从根 (/) 基本路径(无子文件夹)加载。

您可以通过将 publicPath 值设置为 ./ 来“修复”此问题,因此所有资产都相对于 index.html 文件加载(或者更好地说,相对于当前路径).

请记住,这可能会破坏使用“传统”(非哈希)导航的 client-side 路由的应用程序。