现在,我在客户端 JavaScript 中使用 OpenWeatherMap API key 来创建一个简单的天气应用程序 (Node/Express)。我知道这在开发之外并不理想,所以我做了 npm install dotenv。 在服务器端,我可以在 Node.js 中很好地获取和设置环境变量。当我控制台注销时我可以看到它们。
如何在客户端的 javascript 中调用 API key ?例如,目前我的天气应用程序的简单逻辑位于名为weather.js 的文件中,并且HTML 使用weather.js。
理想情况下,我只想调用我的API,例如http://api.openweathermap.org/data/2.5/forecast/daily?lat=${lat}&lon=${lon}&units=metric&appid= ${process.env.WEATHER_API_KEY}
我知道 .envs 在服务器端,你必须做一些事情才能使其在客户端工作。新的 Node 开发人员读了太多书,我认为我对 requireJS、Browserify、模块、.env 等感到困惑......
最佳答案
您不希望您的 API key (或其他 secret )被公开。在前端使用它们将使它们在检查页面和网络请求日志时可见。您需要在服务器端存储和使用您的 secret 。
在您的后端创建一条路由(您可以使用 CORS 来防止其他域使用该路由),该路由调用天气 API(使用服务器上 .env
中存储的 token )并发送返回数据。
然后让你的前端走那条路。
关于javascript - 如何在客户端 Javascript 中调用 Node/Express API key (.env)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55170002/