0Pricing
TypeScript Academy · درس

تعيين المسارات وحلّ الوحدات

اضبط الأسماء المستعارة للمسارات باستخدام baseUrl/paths، وافهم كيفية حلّ TS للوحدات، وتجنّب المشكلات الشائعة.

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

مقدمة

الهدف: استبدال عمليات الاستيراد النسبية الطويلة باستخدام الأسماء المستعارة للمسارات وفهم قواعد حل الوحدات في TypeScript للحفاظ على نظافة عمليات الاستيراد.

مسارات tsconfig

عيّن baseUrl (جذر المشروع لعمليات الاستيراد غير النسبية) واربط الأسماء المستعارة ضمن paths. ويمكن للمفاتيح استخدام أنماط *.

// file: tsconfig.json (excerpt)
{
  "compilerOptions": {
    "baseUrl": "./src",
			 "paths": {
      "@utils/*": ["utils/*"],
			 "@components/*": ["components/*"]
				 }
  }
}

استخدام الاسم المستعار

استورد باستخدام الاسم المستعار كما عُرّف تمامًا (مثل @utils/date). يحل TypeScript المسار إلى المسار المعين ضمن src/.

// file: src/app.ts
import { formatDate } from "@utils/date";
		import Button from "@components/Button";

		console.log(formatDate(new Date()));
		const btn = new Button();

استراتيجية الحل

يعتمد الحل على module (Node أو NodeNext أو Bundler). يفحص TS امتدادات الملفات، ثم exports/types في package.json، ثم يعود إلى node_modules.

// Resolution order sketch (NodeNext/Node):
// 1) Exact file: .ts/.tsx/.d.ts/.js
// 2) Index files: index.ts / index.js
// 3) package.json exports / types
// 4) paths & baseUrl fallbacks
// 5) node_modules lookup (upwards)

export const note = "Resolution depends on module setting (Node, NodeNext, Bundler).";

مواءمة أداة التجميع

مهم: يعرف TS الأسماء المستعارة عند التحقق من الأنواع، لكن يجب أن تربطها أداة التجميع/بيئة التشغيل أيضًا (مثل Vite أو Webpack أو tsconfig-paths مع ts-node).

// Example: vite.config.ts (alias for runtime)
		import { defineConfig } from "vite";
		import path from "path";

		export default defineConfig({
			resolve: {
			alias: {
			"@utils": path.resolve(__dirname, "src/utils"),
			"@components": path.resolve(__dirname, "src/components")
			}
			}
			});

نصائح ومزالق

نصائح:

  • حافظ على ثبات baseUrl (مثل src/).
  • طابق الأسماء المستعارة في أداة التجميع/بيئة التشغيل.
  • تجنب سلاسل ../.. العميقة؛ وفضّل الأسماء المستعارة المختصرة.

التحقق من الاسم المستعار للمسار

تحقق سريع: ما خياري tsconfig اللذان يفعّلان أسماءً مستعارة للمسارات مثل @utils/*؟

مراجعة

مراجعة: اضبط baseUrl وpaths للأسماء المستعارة، وتعلم ترتيب حل TS، ووفّق إعدادات أداة التجميع/بيئة التشغيل لتجنب عمليات الاستيراد المعطلة.

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

هل درس «تعيين المسارات وحلّ الوحدات» مجاني؟

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

ماذا ستتعلم في «تعيين المسارات وحلّ الوحدات»؟

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

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

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

كم من الوقت يستغرق درس «تعيين المسارات وحلّ الوحدات»؟

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

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

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

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

  1. وحدات ES (المسمّاة مقابل الافتراضية) وإعادة التصدير
  2. التصريحات المحيطة (.d.ts) وكتابات الجهات الخارجية
  3. تعيين المسارات وحلّ الوحدات
← العودة إلى TypeScript Academy