Actualmente estoy probando un backend de microservicios java/aplicación angular e implementé el frente en Gitlab Pages.
El gitlab-ci.yml es bastante simple hasta ahora, ya que solo estoy probando la arquitectura:
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: - publicCambié angular.json para generar public/ en lugar de dist/. El sitio se implementa bien en la dirección https://myaccount.gitlab.io/repository-name pero solo funciona index.html.
La razón es que todos los href internos están de alguna manera equivocados:
<script src="runtime.0e49e2b53282f40c8925.js" defer></script> <script src="polyfills.e6e62ba5ee83d54cee93.js" defer></script> <script src="main.26f4db6ed1e6241cbf51.js" defer></script>El href apunta a https://myaccount.gitlab.io/runtime.0e49e2b53282f40c8925.js en lugar de https://myaccount.gitlab.io/repository-name/runtime.0e49e2b53282f40c8925.js , por lo que todas mis referencias arrojan errores 404
¿Alguien sabe por qué es así, y cómo solucionarlo? muchas gracias !
Bueno, disculpe las molestias, encontré una respuesta muy simple a mi propio problema, así que la publicaré aquí en caso de que alguien la necesite.
es posible simplemente cambiar la base-href de una construcción angular con
--base-href /your-path/Así que acabo de cambiar mi compilación ng de esta manera:
- ng build --prod --base-href /croquis-time-client/