【发布时间】:2019-01-07 04:08:33
【问题描述】:
我正在使用 HTML+CSS+JS 设置创建一个简单的 UI,该设置使用需要密钥的第三方 API,我想将密钥保存在一个文件中,我可以 gitignore 并从我的Javascript 文件。我不打算部署这个项目,我只是希望能够将它推送到 GitHub,而不会在每次提交之前临时删除变量。
我发现的所有响应都与 Node.js、React/Webpack 或其他服务器设置有关,但我没有服务器或转译器,也不想添加一堆杂乱无章和配置就为了这个。有没有办法做到这一点?我尝试将它存储在一个单独的 JS 文件中并导入/导出,但要么我无法获得正确的语法,要么我正在尝试的东西需要一个转译器。每次尝试变化都会导致语法错误或未定义的变量。
关键信息:
- 这是一个完全在本地运行的项目——就像在我的浏览器中打开
index.html一样——所以我认为我不需要担心密钥会暴露在客户端中。 - 我的设置几乎只包括
index.html、main.js和style.css。 - 我想将项目推送到 GitHub,因此我想将 api 密钥作为变量存储在与
main.js分开的文件中,我可以将其添加到.gitignore,但可以在main.js中访问。 - 我在没有框架等的情况下尽可能保持简单。除非它超级简单和轻量级,否则我不想添加库只是为了让它工作。
【问题讨论】:
-
您使用的是什么无服务器提供商? AWS Lambda?
-
@Paul 我不应该在最初的标题中说无服务器。我的意思是字面意思,如“我根本没有服务器”。不涉及后端,只涉及 index.html、styles.css、main.js 并通过在浏览器中打开 index.html 来运行它。我不知道如何在没有 Node 或某种转译器的情况下配置
.env文件。我认为答案要么太基本以至于我错过了它,要么不可能创造出过度设计的东西 -
如果是这样,那么您将 API 密钥发送给客户端,因此使用您的应用程序的每个人都将拥有它。
-
我不会将它部署给任何人使用,我实际上是在浏览器中打开本地 index.html 文件,所以我认为我不需要担心安全性。不过,我想将项目公开推送到 GitHub,因此我希望能够将密钥保存在 git 可以忽略的文件中。
-
根据此新信息更新答案。
标签: javascript ecmascript-6 environment-variables api-key