javascript - 从键/值对字符串设置环境变量

标签 javascript reactjs ubuntu sentry

我正在使用 AWS Secrets Manager 在 React CloudFront Web 应用程序的部署过程中提取一些环境变量。我没有编写大量的 javascript - 我正在尝试找出从我的“ secret ”字符串中提取值并将它们设置为环境变量的最佳方法。

在某些情况下,我能够很好地连接到 AWS-SDK 并检索我的 secret - 它们看起来像这样:

console.log(secret)
> {"JOE":"https://joe.com","MIKE":"http://mike.com"}

当我决定检查我的 secret 的类型并发现 javascript 正在将它作为字符串评估时,第一个惊喜就来了:

console.log(typeof secret);
> string

因为我现在知道我正在使用一个字符串,所以我试图找到最有效的方法来解析这个“字符串”(尽管在我的 Python 眼中它看起来像一本字典)并设置每个键/对值在字符串中作为环境变量。

我首先尝试的是“modules.export”方法——我做了类似的事情:

module.exports = secret;

if(process.env.JOE) {
    console.log('It is set!');
}
else {
    console.log('No set!');
}

当然,这好得令人难以置信 - 而且似乎并没有像我希望的那样工作。

我尝试的下一件事就是简单地尝试索引字符串并查看它可能返回的内容:

console.log(secret["JOE"]);
> undefined

那里没有运气。

我已经尝试了各种其他简单的内置 javascript 方法,但我似乎没有取得任何进展。我是否正确地认为我应该首先将其加载到字典中,然后可能使用 modules.export 将字典中的每个键/对设置为环境变量?

最佳答案

这看起来像一个 JSON 字符串。只需调用 JSON.parse(secret),它就会为您提供您期望的对象。

关于javascript - 从键/值对字符串设置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55034521/

相关文章:

ubuntu - kubernetes 在 ubuntu 中找不到正确的 go

javascript - 为什么 Eslint 会在 Airbnb 风格指南的原子中的两个空格规则中抛出错误,即使我将其设置为两个空格和硬制表符?

javascript - 重新创建 JavaScript Reduce 函数第 2 部分

javascript - 扩展脚本中的 OR 运算符

javascript - react 脚本未加载

Windows Ubuntu Bash SSH 进入 Github

javascript - 从另一个函数调用清除间隔函数而不传递间隔变量

javascript - MUI v5 - 在 TypeScript 中扩展 Typography 变体会产生错误 "No overload matches this call"

reactjs - 如何在 react 组件中存储用户配置文件信息并全局访问它

终端中的 Git 权限问题