如何使用 AWS Amplify 和 Next.js 创建生产环境变量

Tyl*_*les 2 environment-variables reactjs next.js aws-amplify

我有一个 API 密钥,需要它来访问 API 端点。在我的 Next.js 应用程序中,我将此密钥存储在下面,.env.local如下所示:

API_KEY=qwerty123
Run Code Online (Sandbox Code Playgroud)

我在getStaticProps函数中使用 process.env 访问它:

API_KEY=qwerty123
Run Code Online (Sandbox Code Playgroud)

当我尝试在生产中运行此程序时,我收到一条错误消息,指出 API 密钥无效。我知道 API 是正确的,因为当我在本地运行该项目时,API 数据会加载。

    "code": "API_KEY_INVALID",
    "message": "Your API key is not valid. Please get a new one at https://www.nps.gov/subjects/developer/get-started.htm"
Run Code Online (Sandbox Code Playgroud)

我的问题是,我是否需要更改在getStaticProps生产构建的函数中调用 API 密钥的方式?

注意:我已确保将环境包含在 Amplify 控制台中。

在此输入图像描述

Tyl*_*les 5

环境变量不会传递到 Lambda 函数

出于某种原因,我不确定为什么自己仍然需要在 next.config.js 文件中添加环境。

module.exports = {
  env: {
    MY_ENV_VAR: process.env.MY_ENV_VAR
  }
};
Run Code Online (Sandbox Code Playgroud)

丰富故障排除文档