0Pricing
TypeScript Academy · درس

إعادة التصدير وملفات Barrel

أنشئوا ملفات index لتبسيط مسارات الاستيراد

إعادة التصدير وملفات Barrel درس مجاني في TypeScript Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في TypeScript Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة TypeScript Academy 4 دروس في المجموع.

مرحبًا

تجمع ملفات Barrel (index.ts) محتويات الوحدات وتعيد تصديرها، مما ينشئ واجهة API عامة بسيطة لدليل ما، بحيث يحصل المستهلكون على مسارات استيراد أوضح.

ما ملف Barrel

ملف Barrel هو ملف index.ts يعيد تصدير كل شيء من الدليل نفسه. ويستورد المستهلكون من الدليل بدلًا من الملفات الفردية.
// src/models/index.ts (barrel)
export { User } from './user';
export { Product } from './product';
export { Order } from './order';

استخدام ملف Barrel

استورد من ملف Barrel بدلًا من الملفات الفردية للحصول على مسارات أوضح.
// Before barrel:
import { User } from '../models/user';
import { Product } from '../models/product';

// After barrel:
import { User, Product } from '../models';

إعادة التصدير العامة باستخدام export *

أعد تصدير جميع التصديرات المسماة من وحدة باستخدام `export *`.
// index.ts
export * from './utils';
export * from './helpers';
export * from './validators';

إعادة التسمية أثناء إعادة التصدير

يمكنك إعادة تسمية التصديرات أثناء إعادة تصديرها.
export { default as MyButton } from './Button';
export { Button as Btn } from './Button';

إعادة التصدير الخاصة بالأنواع فقط

أعد تصدير الأنواع دون التأثير في وقت التشغيل.
export type { User, UserRole } from './user.types';

ملف Barrel لوحدة ميزة

غالبًا ما تحتوي مجلدات الميزات في التطبيقات الكبيرة على ملف Barrel لا يعرض إلا الواجهة العامة.
// features/auth/index.ts
export { AuthProvider } from './AuthProvider';
export { useAuth } from './useAuth';
export type { AuthUser } from './types';

خطر التبعيات الدائرية

يمكن أن تتسبب ملفات Barrel في تبعيات دائرية إذا استوردت الملفات الموجودة في ملف Barrel نفسه بعضها بعضًا بشكل غير مباشر عبر index. انتبه إلى ذلك.

إزالة الشيفرة غير المستخدمة وملفات Barrel

تزيل أدوات التجميع الحديثة (Webpack وRollup وVite) إعادة التصدير من ملفات Barrel عند إزالة الشيفرة غير المستخدمة. ولا تُضمَّن في الحزمة إلا التصديرات المستخدمة فعليًا.

ملفات Barrel العميقة مقارنةً بالسطحية

يمكنك تداخل ملفات Barrel: إذ يمتلك كل دليل فرعي ملف index.ts خاصًا به، ثم يعيد ملف Barrel الأب التصدير من ملفات Barrel الخاصة بالأدلة الفرعية.
// src/index.ts
export * from './models';
export * from './services';
export * from './utils';

ملفات Barrel وأداء TypeScript

يمكن أن تؤدي ملفات Barrel المتداخلة بعمق إلى إبطاء ترجمة TypeScript. في المشاريع الكبيرة، فكّر في تسطيح البنية أو استخدام الأسماء المستعارة للمسارات بدلًا من ذلك.

فحص سريع

ما الفائدة الرئيسية من استخدام ملف Barrel (index.ts)؟

مراجعة

تعيد ملفات Barrel (index.ts) التصدير من دليل، مما ينشئ مسارات استيراد واضحة. استخدم `export *` لإعادة التصدير الجماعية، و`export type` للأنواع فقط، وانتبه إلى مخاطر التبعيات الدائرية في المشاريع الكبيرة.

الأسئلة الشائعة

هل درس «إعادة التصدير وملفات Barrel» مجاني؟

نعم — نص درس «إعادة التصدير وملفات Barrel» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة TypeScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة TypeScript Academy 4 دروس في المجموع.

ماذا ستتعلم في «إعادة التصدير وملفات Barrel»؟

أنشئوا ملفات index لتبسيط مسارات الاستيراد تتمرن على TypeScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ TypeScript Academy؟

لا تُشترط خبرة سابقة. TypeScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «إعادة التصدير وملفات Barrel»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس TypeScript Academy هذا؟

نعم. كل درس في TypeScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. صياغة وحدات ES: ‏import وexport
  2. إعادة التصدير وملفات Barrel
  3. الاستيرادات والتصديرات الخاصة بالأنواع فقط
  4. مساحات الأسماء أم الوحدات: الاستخدام الحديث
← العودة إلى TypeScript Academy