我使用.env
文件来存储变量,我的typescript节点项目也使用这个文件,我可以在运行时检查是否缺少env变量,如果不存在就抛出一个错误。
export const SOME_KEY = process.env.SOME_KEY || ""
if (!SOME_KEY) {
throw new Error("SOME_KEY is missing from .env file")
}
但是,有没有办法在构建时检查所有必要的env变量?可能是一些在构建命令中执行的单独节点脚本?注意,我的项目是基于Typescript构建的,所以我猜这会使它变得更复杂。
1条答案
按热度按时间krcsximq1#
您可以在
build
之前添加一个步骤,该步骤只是在所需的env
变量数组上循环,并在出现问题时退出。您可能有一个构建脚本,类似于
package.json
中的内容您可以添加一个
prebuild
脚本来检查此情况。请注意,我使用ts-node-dev来执行TS。这应该作为一个dev deps安装,而不是一个build dev。
你也可以在你的build命令之前运行它,就像这样:
型
如果您从
check_env_vars.ts
执行throw
,则build命令将停止,因此这是一个好处。