【发布时间】:2021-05-01 03:46:42
【问题描述】:
所以在我的项目中,我在项目的 root 上有一个 .env 文件,该文件具有所有阶段的默认环境变量。 然后我有 config 文件夹,我在其中保存每个环境的环境和 serverless.yml 文件(.env.staging、.env.production 等。):
像这样:
-root:
-config:
-staging:
.env.staging
serverless.yml
当我跑步时:
env-cmd -f config/staging/.env.staging next build
然后:
next start
它会加载所有环境变量 .env + .env.staging。哪个很好,而且效果很好,但只能在本地运行。
这是我的 serverless.yml 文件:
my-app-staging:
component: "@sls-next/serverless-component@1.18.0"
inputs:
nextConfigDir: ../../
bucketName: my-app-staging
cloudfront:
comment: my-app-staging
因此,对于分段部署,我运行以下命令:
env-cmd -f config/staging/.env.staging next build && cd config/staging && sls
在已部署的版本上,根 .env 中的所有环境变量都可用,但 .env.staging 中的不。
我做错了什么?
【问题讨论】:
标签: next.js amazon-cloudfront serverless-framework