[英]Azure static web app environment variable
我正在尝试通过 Azure Static web 应用程序发布 Gatsbyjs。 我有一个插件(gatsby-source-contentful)。
我需要传递变量,例如:
{
resolve: `gatsby-source-contentful`,
options: {
spaceId: process.env.CONTENTFUL_SPACE_ID,
accessToken: process.env.CONTENTFUL_ACCESS_TOKEN,
},
},
错误:
Running 'npm run build'...
> gatsby-starter-default@0.1.0 build /github/workspace
> gatsby build
success open and validate gatsby-configs - 0.021s
error Invalid plugin options for "gatsby-source-contentful":
- "accessToken" is required
- "spaceId" is required
not finished load plugins - 0.905s
我在哪里可以通过这个?
谢谢。
它们被称为环境变量。 它们旨在存储敏感数据,例如令牌、标识符等,不应将它们推送到您的存储库中,因此您应该忽略它们(在您的.gitignore
文件中)。
默认情况下,Gatsby 会在不通知您的情况下创建 2 个环境,每种编译方法一个:
gatsby develop
:使用.env.development
gatsby build
:使用.env.production
注意:如果需要使用NODE_ENV
自定义命令添加您自己的环境,您可以更改此行为。
因此,要将数据传递给gatsby-config.js
,您只需在项目的根目录下创建两个文件( .env.development
和.env.production
)。 然后,在gatsby-config.js
的顶部添加以下代码段:
require("dotenv").config({
path: `.env.${process.env.NODE_ENV}`,
})
注意: dotenv
已经是 Gatsby 的依赖,所以不需要重新安装
这将告诉 Gatsby 在哪里获取环境变量。
您只需要填充两个环境文件即可。 在 Contentful 中查找凭据,并使用比您在gatsby-config.js
中设置的合理命名将它们添加到文件中:
CONTENTFUL_SPACE_ID=123456789
CONTENTFUL_ACCESS_TOKEN=123456789
还要记住,在处理 Azure、Netlify、AWS 或类似的 CI/CD 工具时,您需要向服务器提供相同的环境文件,以避免在推送更改时出现代码破坏。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.