"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > التحقق من صحة متغيرات البيئة الخاصة بك مع Zod

التحقق من صحة متغيرات البيئة الخاصة بك مع Zod

تم النشر بتاريخ 2024-08-20
تصفح:401

Validate your environment variables with Zod

Zod هي مكتبة التحقق الأكثر شهرة في نظام TypeScript البيئي. باستخدام Zod، يمكنك إنشاء مخطط والتحقق من صحة بياناتك وفقًا للمخطط. لاحظ المخطط أدناه:

import { z } from 'zod'

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

يمكن استخدام هذا المخطط للتحقق من صحة الكائن كما يلي:

const data = {
  name: 'John Doe',
  age: 18,
  email: '[email protected]',
}

// 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 قادر على إجراء أنواع مختلفة من عمليات التحقق من صحة بياناتك، لذا تأكد من قراءة الوثائق لمزيد من التفاصيل.

التحقق من صحة متغيرات البيئة

يمكننا استخدام Zod للتحقق من صحة القيم الموجودة فيprocess.env وحتى معالجتها قبل استخدام متغيرات البيئة في تطبيقنا. عادة، أحب إنشاء ملف بيئة.ts، كما في المثال أدناه:

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)

ثم قم فقط باستيراد المتغير واستخدامه في تطبيقي:

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)
  }
})
بيان الافراج يتم استنساخ هذه المقالة على: https://dev.to/douglasdemoura/validate-your-environment-vaiables-with-zod-2gna؟1 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفها.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3