gpt4 book ai didi

javascript - 如果缺少环境变量,则 Gatsby 构建失败

转载 作者:行者123 更新时间:2023-12-01 15:24:39 25 4
gpt4 key购买 nike

我已经尝试使用 .env.development 将环境变量添加到我的 Gatsby 项目中。和 .env.production文件,它工作得很好。

如果缺少其中一个环境变量,我希望我的构建失败,但是我似乎看不到如何启用此功能。

我已通读 Gatsby environment variables documentation ,但似乎看不到这将如何工作?这可能吗?

我相信它在后台使用 dotenv/webpack 定义插件。

最佳答案

我确信还有其他方法可以做到这一点,但是通过一些快速测试,这种方法似乎对我很有效。

在您的 gatsby-config.js文件,您可以选择明确要求 dotenv ,因此您可以在配置中使用这些环境变量。

我添加了以下内容,现在 Gatsby 构建将失败,除非指定的环境变量存在。

// Load the environment variables, per
// https://www.gatsbyjs.org/docs/environment-variables/#server-side-nodejs
require('dotenv').config({
path: `.env.${process.env.NODE_ENV}`,
})

function checkEnv(envName) {
if (typeof process.env[envName] === 'undefined' || process.env[envName] === '') {
throw `Missing required environment variables: ${envName}`
}
}

try {
checkEnv('NODE_ENV')
checkEnv('EXAMPLE_MISSING_ENV')
checkEnv('EXAMPLE_API_KEY')
} catch (e) {
throw new Error(e)
}

// The rest of the config file

我可以想象进一步定制这个,例如。为带有后备的变量记录警告,而不是为内容采购插件或主题所需的变量抛出错误。希望这是有帮助的起点!

关于javascript - 如果缺少环境变量,则 Gatsby 构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62345193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com