(node.js) 如何在 JSON 文件中使用环境变量

新手上路,请多包涵

我正在使用需要 JSON 配置文件的第 3 方库,并且需要将一些 env 变量作为键值传递。如果我像往常一样包含它们,例如:

   "s3": {
    "key": process.env.AWS_ACCESS_KEY_ID,
    "secret": process.env.AWS_SECRET_ACCESS_KEY,
    "bucket": process.env.S3_MLL_BUCKET_NAME,
    "destination": "/backups/database",
    "encrypt": false,
    "region": process.env.AWS_REGION
  }

…我得到错误:

 SyntaxError: config/s3_backup.config.json: Unexpected token p

原文由 Ben 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.1k
1 个回答

JSON 没有环境变量的概念。不过,您可以做的是将配置文件声明为 node.js 模块,然后您就可以按如下方式使用环境变量:

 module.exports = {
  s3: {
    key: process.env.AWS_ACCESS_KEY_ID,
    secret: process.env.AWS_SECRET_ACCESS_KEY,
    bucket: process.env.S3_MLL_BUCKET_NAME,
    destination: "/backups/database",
    encrypt: false,
    region: process.env.AWS_REGION
  }
};

原文由 dtoux 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题