تهيئة تطبيقات TypeScript: المكتبات والمناهج

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

تهيئة تطبيقات TypeScript: نظرة عامة على الأدوات والمناهج



في التطوير الحديث باستخدام TypeScript، يعد التنظيم الصحيح لتهيئة التطبيق من المهام الأساسية. تعتمد أمان الكود، وقابليته للنقل، وسهولة اختباره على كيفية إدارتك للإعدادات. في هذه المقالة، سنستعرض المكتبات والأدوات الرئيسية لتهيئة تطبيقات TypeScript، وميزاتها، وأمثلة على استخدامها.



لماذا تعتبر التهيئة الصحيحة مهمة؟

تتضمن التهيئة ما يلي:

  • متغيرات البيئة (مفاتيح API، عنوان URL لقاعدة البيانات)
  • معلمات البيئة (التطوير، التجهيز، الإنتاج)
  • إعدادات الأطر والمكتبات
  • البيانات السرية (كلمات المرور، الرموز المميزة)

يضيف استخدام TypeScript مزايا الكتابة الصارمة، مما يساعد على تجنب الأخطاء في مرحلة التجميع. دعنا نستعرض أفضل الأدوات للعمل مع التهيئة.



1. dotenv — الأداة الأساسية لمتغيرات البيئة

تقوم مكتبة dotenv بتحميل المتغيرات من ملف .env إلى process.env. في TypeScript، غالبًا ما تُستخدم مع أنواع إضافية.



التثبيت

npm install dotenvnpm install -D @types/node   # لأنواع process.env


مثال على الاستخدام

// .envPORT=3000DATABASE_URL=mongodb://localhost:27017/mydbSECRET_KEY=mysecretkey

// config.tsimport dotenv from 'dotenv';dotenv.config();

interface AppConfig { port: number; databaseUrl: string; secretKey: string;}

export const config: AppConfig = { port: parseInt(process.env.PORT || '3000', 10), databaseUrl: process.env.DATABASE_URL || '', secretKey: process.env.SECRET_KEY || '',};


الإيجابيات: البساطة، الخفة، المعيار الفعلي.
السلبيات: لا يوجد تحقق من الصحة، جميع القيم نصوص.



2. config — تهيئة هرمية لـ Node.js

تتيح مكتبة config تنظيم ملفات التهيئة حسب البيئات (default.json، production.json، development.json).



التثبيت

npm install confignpm install -D @types/config


مثال على الهيكل

// config/default.json{    "server": {        "port": 3000    },    "db": {        "host": "localhost",        "port": 27017    }}

// config/production.json{ "server": { "port": 8080 }, "db": { "host": "production-db.example.com" }}

// app.tsimport config from 'config';

interface ServerConfig { port: number;}

const serverConfig = config.get<ServerConfig>('server');console.log(serverConfig.port); // 3000 في التطوير، 8080 في الإنتاج


الإيجابيات: الهرمية، الاختيار التلقائي للبيئة، دعم TypeScript.
السلبيات: يتطلب نظام ملفات، غير مناسب لـ serverless.



3. convict — تهيئة مع مخطط وتحقق من الصحة

تتيح convict تحديد مخطط صارم للتهيئة مع أنواع وقيم افتراضية وتحقق من الصحة.



التثبيت

npm install convictnpm install -D @types/convict


مثال

import convict from 'convict';

const config = convict({ env: { doc: 'بيئة التطبيق', format: ['production', 'development', 'test'], default: 'development', env: 'NODE_ENV' }, port: { doc: 'المنفذ المراد الربط به', format: 'port', default: 3000, env: 'PORT' }, db: { host: { doc: 'مضيف قاعدة البيانات', format: String, default: 'localhost', env: 'DB_HOST' }, port: { doc: 'منفذ قاعدة البيانات', format: 'port', default: 5432, env: 'DB_PORT' } }

توصيات