Heim > Web-Frontend > js-Tutorial > Validieren Sie Ihre Umgebungsvariablen mit Zod

Validieren Sie Ihre Umgebungsvariablen mit Zod

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2024-08-16 12:40:06
Original
926 Leute haben es durchsucht

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(),
})
Nach dem Login kopieren

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' }
Nach dem Login kopieren

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)
Nach dem Login kopieren

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)
  }
})
Nach dem Login kopieren

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!

Quelle:dev.to
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage