Resumen: aprender a usar las variables del entorno de angular usando archivo environment.prod.ts y environment.ts para diferenciar entre entorno de producción y entorno de desarrollo.
Estoy a punto de publicar mi artículo sobre cómo conectar PHP con Angular; pero para ello tuve que hacer una diferencia entre el entorno de desarrollo y producción.
Esto es porque en modo producción, los archivos JS de Angular serán servidos en la misma URL que los de PHP, así que la URL base es .
En cambio, en modo desarrollo, Angular es servido en una URL distinta y la URL es localhost/mascotas_angular
Debo cambiar esto para que al compilar con la cli usando ng build --prod
se cambie el valor automáticamente.
Veamos los archivos:
export const environment = {
production: true,
baseUrl: ".",
};
// This file can be replaced during build by using the `fileReplacements` array.
// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.
// The list of file replacements can be found in `angular.json`.
export const environment = {
production: false,
baseUrl: "http://localhost/mascotas_angular",
};
/*
* For easier debugging in development mode, you can import the following file
* to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
*
* This import should be commented out in production mode because it will have a negative impact
* on performance if an error is thrown.
*/// import 'zone.js/dist/zone-error'; // Included with Angular CLI.
En el que tiene prod.ts
estoy definiendo una URL distinta a la que no lo tiene. Para usar cada valor, debemos importar el archivo así:
import { environment } from "../environments/environment"
(recuerda que la ruta puede cambiar dependiendo de tu configuración)
Finalmente accedemos a environment.valor
, por ejemplo:
export class MascotasService {
// ...
baseUrl = environment.baseUrl
// ...
}
Y no debemos preocuparnos por nada más. Angular se encargará de proporcionar los valores, nosotros simplemente accedemos al valor y dependiendo del entorno se tomará uno o el otro.
Estas variables no serán tomadas en cuenta si solo haces un ng build
; debes hacer un ng build --prod
para crear un “build de producción”
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.
Ver comentarios
Hola, pablo. Actualmente estoy en un proyecto angular, y mi situación es configurar de igual forma un ambiente dinámico para que se consuman estas variables, en algún fichero o servidor. Me preguntaba si logro obtener alguna solución a este problema, muchas gracias.
Esa es una buena solución, pero ¿Qué se puede hacer para solo hacer una única compilación y esas variables de entorno ya existan en cada entorno en algún fichero y las lea de ahí?