Estoy trabajando en una aplicación Angular en la que me enfrento a establecer un valor href base HTML y/o un valor APP_BASE_HREF.
¿Cuál es la diferencia y la relación entre estos?
En general, solo debería tener que configurar <base href> .
Las excepciones son si no tiene acceso a index.html o desea que las URL de estilo HTML5 sean diferentes de donde está sirviendo los archivos Angular (entonces debe proporcionar APP_BASE_HREF ).
¿Cuál es la diferencia y la relación entre estos?
El <base href> se usa como la URL base predeterminada ( consulte el código fuente ) al generar URL de estilo HTML5 para su aplicación web. Además, "especifica una ruta base para resolver URL relativas a activos como imágenes, scripts y hojas de estilo", es decir, su distribución Angular. Dado que <base href> es solo un elemento HTML, puede consultar los documentos de Mozilla para obtener detalles y ver las implicaciones en la wiki de la comunidad .
Si por alguna razón cae en las dos excepciones anteriores, puede proporcionar APP_BASE_HREF en su lugar, que se usa únicamente para fines de enrutamiento (usando PathLocationStrategy ) y no establece ni interactúa con <base href> .
<base href> se usa como URL base para el enrutamiento cuando NO se establece APP_BASE_HREF .<base href> y APP_BASE_HREF se puede usar para escenarios de implementación en los que la URL mostrada y la ubicación real donde se sirven los archivos son diferentes.index.html , APP_BASE_HREF debe configurarse si usa PathLocationStrategy .