问题描述
我正在尝试使用 vanilla javascript 隐藏项目的 API 密钥。有什么关于如何做到这一点的帮助吗?
这是我的 javascript script.js
const API_KEY1 = 'abcdKey123'
async function getAllPosts() {
// fetch the data from the api and put inside a promise
const fetchAPI = await fetch(`https://gnews.io/api/v4/top-headlines?token=${API_KEY1}&lang=en`)
// transform the data in json
const apiJson = fetchAPI.json()
// return the data
return apiJson
}
如何隐藏关键信息并继续使用它? 能不能一步一步告诉我?我看过一些 youtube 视频,但没有一个真正给出直接的答案。
谢谢。
解决方法
如果是 nodeJS,您可以创建一个 DOT_ENV 文件并将其放入 gitignore 文件中,我假设您使用 github 或 gitlab 进行版本控制。
据我所知,对于前端来说,隐藏它们是不可能的。您可以混淆它们,但永远不要隐藏在前端代码中。
只需在后端使用一点 PHP 或在后端运行 NodeJS 服务器即可。
真的,继续学习一些 PHP 和 NodeJS,如果可以的话,我会在 Node + Express 中做所有 JS 的事情。如今,即使是前端开发人员也需要了解数据库和后端。一般来说,PHP 更容易学习(即使你知道 JS)并且更稳定。但是一旦你掌握了 NodeJS 的窍门,如果项目的目的是兼容的,那就很有趣了。
但是,您不想向用户公开的任何内容都必须保存在您的服务器上。