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
来获取环境变量。
(西班牙语)Tipar variables de entorno con Zod en Proyectos Typescript,在 Typescript 项目中使用 Zod 输入环境变量,https://www.youtube.com/watch?v=daSaqwZjTDc ↩︎