Sistema Angular e Spring para homologar

Temos uma VM na azure.

Gerei o build de homologação e coloquei no servidor.

Gerou os arquivos e o index.html assim

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>DESIF</title>
  <base href="/">

  <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>

  <app-root>Carregando ...</app-root>

<script type="text/javascript" src="inline.bundle.js"></script><script type="text/javascript" src="polyfills.bundle.js"></script><script type="text/javascript" src="styles.bundle.js"></script><script type="text/javascript" src="vendor.bundle.js"></script><script type="text/javascript" src="main.bundle.js"></script></body>
</html>

No servidor Tomcat. na pasta Program Files\Apache Software Foundation\Tomcat 8.5\webapps, criei a pasta dist.

Ao entrar com o endereço: http://endereco:8080/dist, ele vai a página correta, ao carregar muda o endereço para http://endereco:8080/#/login, o que é correto, mas imaginei que seria: http://endereco:8080/dist/#/login

Se aperto F5 ou CTRL + F5, ele vai para inicial do TOMCAT.

Tenho que configurar algo ?

No Angular, tenho um arquivo que tem o endereço do Servidor, no caso é *http://localhost:8080/sistema, para não ter que ficar mudando toda vez que subir para homologação, tem como o angular fazer isto automático, por alguma variável ?

Primeira vez que faço um deploy.

Existe alguma maneira melhor ?

Alterei o Html, esta parte de < base href="/"> para < base href="./">, e assim funcionou.

Mas tem alguma outra maneira que faço sem ter que ficar alterando o html ?

Tem como fazer uma variável para servidor de homologação, produção e desenvolvimento, pois os mesmos mudam, no angular ?

Não entendi porque precisa disso. Mas respondendo sobre a variável, lembre-se que você não precisa ficar sempre preso no Angular, isto poderia ser uma simples variável em java script puro, dentro de algum js global usado por todas as páginas.

Não estou preso no Angular. Estou querendo saber se tem como fazer e como.

Tenho esta variável export const BASE_API_URL: string = ‘http://localhost:8080/api/’;. Ela é utilizada para fazer a conexão com o servidor.

Quando fiz o build, tenho que ir lá no arquivo gerado e alterar este endereço.

Queria saber se tem como por exemplo, eu criar export const BASE_API_URL_SERVER: string = ‘http://www.sistema.com.br:8080/api/’;, e ter algo para buscar esta constante automatico.

Entendeu ?

Se o front está hospedado no mesmo ambiente da API, basta acessar a partir da raiz, nao precisando informar o host em que você já está. Se ainda assim quer guardar na variável, use por exemplo:

var baseApiHost = window.location.host;