如何使用NodeJS动态修改环境变量映射数组的key名称
解决方案
你只需要提前定义好键名替换的映射规则,遍历生成commands数组的时候做一次匹配替换即可,实现代码如下:
// product.js完整代码 // 1. 定义替换映射表,后续新增替换规则只需更新此对象,扩展性更强 const keyReplaceMap = { 'PRODUCT_TYPE': 'myapp.property.type.event', 'PRODUCT_ID': 'myapp.property.product.enabled' } // 2. 生成最终符合要求的commands数组 const commands = Object.entries(process.env).map(([key, value]) => ({ // 匹配到替换规则就用新名称,没匹配到就保留原环境变量key name: keyReplaceMap[key] || key, value })) console.log("commands : ", commands);
如果需要本地测试效果,可以在代码最前面加一段模拟环境变量的测试代码(实际生产运行删掉即可):
// 本地测试模拟环境变量,运行时自动替换为真实系统环境变量 process.env = { PRODUCT_NAME: 'iPhone', PRODUCT_PRICE: '1232', PRODUCT_TYPE: 'Electronics', PRODUCT_ID: 'SKU29389438', LOG_ENABLED: 'TRUE' }
运行后输出的数组结构完全符合你的要求,逻辑和你原有的实现保持一致,只是新增了一层key的匹配替换,没有额外性能损耗。
内容的提问来源于stack exchange,提问作者Brady Maf
相关产品推荐
相关产品推荐

