AWS Amplify 环境变量不适用于 NextJS 应用程序

问题描述 投票:0回答:1

我最近在 AWS Amplify 上部署了下一个应用程序,并了解到 Amplify 无法访问我的环境变量。但是,如果我使用根目录中的 .env 文件进行生产,它可以工作,但 Amplify 环境变量不起作用。我尝试根据 AWS amplify 文档更改构建设置。 请帮忙。

构建设置

version: 1
frontend:
  phases:
    preBuild:
      commands:
        - npm ci
    build:
      commands:
        - env | grep -e MONGODB_URI >> .env.production
        - env | grep -e NEXT_PUBLIC_ >> .env.production
        - npm run build
  artifacts:
    baseDirectory: .next
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*
      - .next/cache/**/*

如果有帮助,请告诉我这条线 “要修改应用程序的构建规范,请选择“编辑”。或者,您可以下载 YML 文件并在存储库的根目录中部署到 amplify.yml 以覆盖此设置。”

如何使用根目录中的 yml 文件一劳永逸地解决此问题

enter image description here

amazon-web-services next.js environment-variables aws-amplify next-auth
1个回答
0
投票

添加 echo env 为我解决了这个问题 对于您的案例

version: 1
frontend:
  phases:
    preBuild:
      commands:
        - npm ci
    build:
      commands:
        - echo "EMAIL=$EMAIL" >> .env
        - echo "YOUR_EMAIL=$YOUR_EMAIL" >> .env
        - npm run build
  artifacts:
    baseDirectory: .next
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*
      - .next/cache/**/*

更改 amplify.yml 后,您可以再次重新启动/重新部署

您还可以查看 AWS 的文档,在构建时间放大期间添加环境

© www.soinside.com 2019 - 2024. All rights reserved.