环境变量对于设置随着环境在开发、测试和生产之间切换而适应的配置参数至关重要。以稳健、可扩展的方式管理这些变量可确保顺利开发、部署和维护。它对处理代码的开发人员和构建 CI/CD 管道的 DevOps 工程师都有好处。
在这里,我提出了一种方法,可以最大限度地减少代码重复和维护工作,同时遵守 不要重复自己(DRY) 和 保持简单、愚蠢(KISS)。此外,我将概述替代策略及其优缺点。
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);
优点:
缺点:
const config = environmentMode === "dev" ? require("./config.dev") : require("./config.prod"); export default config;
优点:
缺点:
const config = { apiUrl: environmentMode === "dev" ? "http://localhost:3000/v1" : "https://api.prod.com/v1", };
优点:
缺点:
通过采用基于前缀的方法或仔细考虑替代方案,您可以实现干净、可维护的环境变量管理策略。
如果您有建议或其他方法,欢迎在评论中分享!
最诚挚的问候,
艾哈迈德
以上是Vite和React应用中智能处理环境变量的详细内容。更多信息请关注PHP中文网其他相关文章!