Zod ialah perpustakaan pengesahan paling terkenal dalam ekosistem TypeScript. Dengan Zod, anda mencipta skema dan mengesahkan data anda mengikut skema. Perhatikan skema di bawah:
import { z } from 'zod' const UserSchema = z.object({ name: z.string().min(1), age: z.number({ coerce: true }).min(18), email: z.string().email(), })
Skema ini boleh digunakan untuk mengesahkan objek seperti berikut:
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 mampu melakukan pelbagai jenis pengesahan pada data anda, jadi pastikan anda membaca dokumentasi untuk mendapatkan butiran lanjut.
Kami boleh menggunakan Zod untuk mengesahkan nilai yang ada dalam process.env dan juga memprosesnya sebelum menggunakan pembolehubah persekitaran dalam aplikasi kami. Biasanya, saya suka mencipta fail environment.ts, seperti dalam contoh di bawah:
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)
Kemudian, hanya import pembolehubah dan gunakannya sepanjang aplikasi saya:
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) } })
Atas ialah kandungan terperinci Sahkan pembolehubah persekitaran anda dengan Zod. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!