立即迁移到 Netlify

Netlify 宣布 Gatsby Cloud 的下一次迭代。 了解更多

环境变量

Gatsby 内置支持将环境变量加载到浏览器和函数中。将环境变量加载到 Node.js 中需要一个小的代码片段。

在开发环境中,Gatsby 将从名为 .env.development 的文件中加载环境变量。对于构建,它将从 .env.production 加载。

.env 文件可能如下所示

要将这些加载到 Node.js 中,请将以下代码片段添加到 gatsby-config.js 文件的顶部

这会加载 process.env.GATSBY_API_URLprocess.env.API_KEY 以供 gatsby-*.js 文件和函数使用。

例如,在 gatsby-config.js 中配置插件时

在浏览器中访问环境变量。

默认情况下,环境变量仅在 Node.js 代码中可用,并且在浏览器中不可用,因为某些变量应保密,不应暴露给访问网站的任何人。

要在浏览器中公开变量,您必须在其名称前加上 GATSBY_。因此 GATSBY_API_URL 将在浏览器代码中可用,而 API_KEY 则不会。

变量在 JavaScript 编译时设置,因此在启动开发服务器或构建您的网站时设置。

.env* 文件添加到 .gitignore

环境变量文件不应提交到 Git,因为它们通常包含不安全添加到 Git 的敏感信息。相反,将 .env.* 添加到您的 .gitignore 文件中,并在 Gatsby Cloud 和本地手动设置环境变量。

Gatsby Cloud 上的环境变量

在 Gatsby Cloud 中,您可以在每个站点的“站点设置”中配置环境变量。您可以阅读更多关于 在 Gatsby Cloud 中管理环境变量Gatsby Cloud 特有的环境变量 的信息。

附加环境(暂存、测试等)

您可以通过自定义 dotenvpath 配置来创建除 developmentproduction 之外的附加环境。例如,要添加暂存环境,您可以像这样运行 Gatsby 构建命令:

STAGING=true gatsby build

然后在您的 gatsby-config.js 文件中

保留的环境变量

您无法覆盖某些内部使用的环境变量

  • NODE_ENV
  • PUBLIC_DIR

Gatsby 还允许您在运行本地开发服务器时(例如 npm run develop)指定另一个环境变量

  • ENABLE_GATSBY_REFRESH_ENDPOINT

这允许您刷新已获取的内容。请参阅 刷新内容

Gatsby 会根据操作系统报告的物理 CPU 数量,在 gatsby build 期间检测最佳 CPU 核心使用级别。对于在虚拟环境中运行的构建,您可能需要使用 GATSBY_CPU_COUNT 环境变量来调整工作并行级别。请参阅 多核构建

立即开始构建,在 Netlify!
在 GitHub 上编辑此页面
©2025Gatsby, Inc.