首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >部署的Next.js Serverless无服务器应用程序中的环境变量

部署的Next.js Serverless无服务器应用程序中的环境变量
EN

Stack Overflow用户
提问于 2021-01-27 10:10:57
回答 1查看 629关注 0票数 0

因此,在我的项目中,我在项目的根上有一个.env文件,它具有所有阶段的默认环境变量。然后我有了配置文件夹,其中保存了每个环境的环境和serverless.yml文件(、.env.staging、.env.production等):

如下所示:

代码语言:javascript
复制
-root:
 -config:
  -staging:
    .env.staging
    serverless.yml

当我跑步时:

代码语言:javascript
复制
env-cmd -f config/staging/.env.staging next build

然后:

代码语言:javascript
复制
next start

它加载所有的环境变量.env + .env.staging。这是好的,它的工作完美,但只在当地。

这是我的serverless.yml文件:

代码语言:javascript
复制
my-app-staging:
  component: "@sls-next/serverless-component@1.18.0"
  inputs:
    nextConfigDir: ../../
    bucketName: my-app-staging
    cloudfront:
      comment: my-app-staging

因此,对于分阶段部署,我运行以下命令:

代码语言:javascript
复制
env-cmd -f config/staging/.env.staging next build && cd config/staging && sls

在已部署的版本中,根.env中的所有环境变量都是可用的,但不能使用.env.staging中的

我做错什么了?

EN

回答 1

Stack Overflow用户

发布于 2021-01-27 13:35:27

因此,在运行sls命令来部署应用程序时,这是一个不同的环境,是无服务器使用的。为了在无服务器构建上传递该环境,您应该传递所需的环境。

在这种情况下,部署脚本应该如下所示:

代码语言:javascript
复制
"build:staging": "env-cmd -f environment/staging/.env.staging next build",
"deploy:staging": "npm run build:staging && cd config/staging && env-cmd -f .env.staging sls"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65916940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档