我目前正在测试一个angular app/java微服务后端,我在Gitlab Pages上部署了前端。
gitlab-ci。到目前为止,yml非常简单,因为我只是在测试架构:
cache:
paths:
- node_modules/
stages:
- staging
pages:
image: node:latest
stage: staging
script:
- npm install -g @angular/cli@11.0.1
- npm install
- ng build --prod
artifacts:
paths:
- public
我改变了角度。Json输出public/而不是dist/。该站点在地址https://myaccount.gitlab.io/repository-name上部署得很好,但只有index.html可用。
原因是,里面所有的href都是错误的:
<script src="runtime.0e49e2b53282f40c8925.js" defer></script>
<script src="polyfills.e6e62ba5ee83d54cee93.js" defer></script>
<script src="main.26f4db6ed1e6241cbf51.js" defer></script>
href指向https://myaccount.gitlab.io/runtime.0e49e2b53282f40c8925.js而不是https://myaccount.gitlab.io/repository-name/runtime.0e49e2b53282f40c8925.js,所以我所有的refs抛出404错误
有谁知道为什么会这样,以及如何修复它吗?非常感谢!
很抱歉给你带来不便,我找到了一个非常简单的答案来解决我自己的问题,所以我把它贴在这里,以防有人需要。
可以简单地用
改变angular的base-href--base-href /your-path/
所以我只是改变了我的ng构建像这样:
- ng build --prod --base-href /croquis-time-client/