我有一个使用React(Vite)构建的基本天气应用程序。我正在对OpenWeather API进行API调用。在我的开发环境中,我使用了.env文件。
我现在尝试将其托管在AWS EC2(Linux)上。我使用Nginx作为Web服务器并运行应用程序。但由于无法访问API密钥/环境变量,我无法进行API调用。
如何在此EC2示例上设置环境变量以使我的应用正常工作?
我试过直接在shell中导出环境变量(即导出VITE_OPENWEATHER_API_KEY=your_API_key_here)。我重建了生产版本并重新启动了服务器。我不确定是否还有其他功能,但它不起作用。
我还尝试将其作为参数存储在AWS Systems Manager参数存储中,制定相应的IAM策略和角色,并将其连接到我的EC2示例。我可以通过以下命令访问我的EC2示例中的参数:aws ssm get-parameter --name PARAMETER_NAME --with-decryption。我不确定如何将其加载到我的应用程序中?
1条答案
按热度按时间wgxvkvu91#
Vite在特殊的Meta对象上公开env变量。
首先将API密钥添加为永久环境变量(VITE_OPENWEATHER_API_KEY)。然后,您可以尝试将以下代码行添加到server.js文件中:
import.meta.env.VITE_OPENWEATHER_API_KEY
请注意,只有以VITE_为前缀的变量才会暴露给经过Vite处理的代码,因此请确保使用该前缀命名env变量。
您可以在这里找到更多信息:https://vitejs.dev/guide/env-and-mode