Skip to content

Zod - TypeScript 友好的验证库

使用 Zod 验证环境变量

有时我们需要验证环境变量的设置是否正确,这时可以使用 Zod 来验证环境变量。[1]

ts
import { z } from 'zod'

const envSchema = z.object({
  PORT: z.string().nonempty(),
  NODE_ENV: z.string().nonempty(),
  DATABASE_URL: z.string().nonempty(),
})

export const env = envSchema.parse(process.env)
export type Env = z.infer<typeof envSchema>

declare global {
  namespace NodeJS {
    interface ProcessEnv extends Env {}
  }
}

将上述代码保存为 env.ts 文件,然后在项目的入口文件中引入该文件即可。

使用 declare global 来扩展 NodeJS.ProcessEnv 接口,这样就可以在项目中直接使用 process.env 来获取环境变量。


  1. (西班牙语)Tipar variables de entorno con Zod en Proyectos Typescript,在 Typescript 项目中使用 Zod 输入环境变量,https://www.youtube.com/watch?v=daSaqwZjTDc ↩︎