Les variables d'environnement sont essentielles pour définir des paramètres de configuration qui s'adaptent à mesure que les environnements basculent entre le développement, les tests et la production. La gestion de ces variables de manière robuste et évolutive garantit un développement, un déploiement et une maintenance fluides. Cela profite à la fois aux développeurs travaillant sur le code et aux ingénieurs DevOps qui créent des pipelines CI/CD.
Ici, je propose une approche pour minimiser la duplication de code et les efforts de maintenance tout en adhérant aux principes de Ne vous répétez pas (DRY) et Keep It Simple, Stupid (KISS). De plus, je présenterai des stratégies alternatives avec leurs avantages et leurs inconvénients.
VITE_API_URL_DEV=http://localhost:3000/v1 VITE_BRAND_NAME_DEV=TablesXi VITE_API_URL_PROD=https://api.prod.com/v1 VITE_BRAND_NAME_PROD=TablesXi VITE_MODE=dev
export const ENV_VARS = { VITE_API_URL: "VITE_API_URL", VITE_BRAND_NAME: "VITE_BRAND_NAME", };
const environmentMode = import.meta.env.VITE_MODE; export const getEnvVar = (key) => { const mode = environmentMode === "dev" ? "_DEV" : "_PROD"; return import.meta.env[`${key}${mode}`]; };
const apiUrl = getEnvVar(ENV_VARS.VITE_API_URL);
Avantages :
Inconvénients :
const config = environmentMode === "dev" ? require("./config.dev") : require("./config.prod"); export default config;
Avantages :
Inconvénients :
const config = { apiUrl: environmentMode === "dev" ? "http://localhost:3000/v1" : "https://api.prod.com/v1", };
Avantages :
Inconvénients :
En adoptant l'approche basée sur les préfixes ou en envisageant soigneusement des alternatives, vous pouvez parvenir à une stratégie de gestion des variables d'environnement propre et maintenable.
Si vous avez des suggestions ou d'autres approches, n'hésitez pas à les partager dans les commentaires !
Meilleures salutations,
Ahmed
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!