Heim  >  Artikel  >  Web-Frontend  >  Validieren Sie Ihre Umgebungsvariablen mit Zod

Validieren Sie Ihre Umgebungsvariablen mit Zod

WBOY
WBOYOriginal
2024-08-16 12:40:06841Durchsuche

Validate your environment variables with Zod

Zod ist die bekannteste Validierungsbibliothek im TypeScript-Ökosystem. Mit Zod erstellen Sie ein Schema und validieren Ihre Daten entsprechend dem Schema. Beachten Sie das folgende Schema:

import { z } from 'zod'

const UserSchema = z.object({
  name: z.string().min(1),
  age: z.number({ coerce: true }).min(18),
  email: z.string().email(),
})

Dieses Schema kann verwendet werden, um ein Objekt wie folgt zu validieren:

const data = {
  name: 'John Doe',
  age: 18,
  email: 'john@example.com',
}

// If there is a validation error, it throws an error
const validatedData = UserSchema.parse(data)

// If there is a validation error, it returns an error object for you to handle later
const safeValidatedData = UserSchema.safeParse(data)
// => { success: false; error: ZodError }
// => { success: true; data: 'billie' }

Zod ist in der Lage, verschiedene Arten von Validierungen an Ihren Daten durchzuführen. Lesen Sie daher unbedingt die Dokumentation für weitere Details.

Validieren von Umgebungsvariablen

Wir können Zod verwenden, um die in process.env vorhandenen Werte zu validieren und sie sogar zu verarbeiten, bevor wir die Umgebungsvariablen in unserer Anwendung verwenden. Normalerweise erstelle ich gerne eine Environment.ts-Datei, wie im folgenden Beispiel:

import { z } from 'zod'

const environmentSchema = z.object({
  // Define the possible values for NODE_ENV, always leaving a default value:
  NODE_ENV: z.enum(['test', 'development', 'production']).default('production'),
  // Environment variables are always defined as strings. Here, convert the string to a number and set a default value:
  PORT: z.number({ coerce: true }).default(3000),
})

export const env = environmentSchema.parse(process.env)

Dann importieren Sie einfach die Variable und verwenden sie in meiner gesamten Anwendung:

import Fastify from 'fastify'
import { env } from './environment.js'

const app = Fastify({ logger: true })
app.listen({ port: env.PORT }, (err) => {
  if (err) {
    app.log.error(err)
    process.exit(1)
  }
})

Das obige ist der detaillierte Inhalt vonValidieren Sie Ihre Umgebungsvariablen mit Zod. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn