0Pricing
JavaScript Academy · درس

حلّ الوحدات في Node وحزم المتصفح

تعلّموا كيفية حلّ الاستيرادات: المحددات النسبية مقابل المجردة، وامتدادات الملفات (.js/.mjs/.cjs)، وملفات index، ونقاط دخول الحزم البسيطة

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

الصورة العامة

الهدف: معرفة كيفية حل مسارات الاستيراد.

  • المحددات النسبية مقابل المجردة
  • استخدم الامتداد .js الصريح، فهو الخيار الآمن افتراضيًا
  • index.js في المجلدات
  • نقاط دخول الحزم، مثل main/exports، في لمحة سريعة
حلّ الوحدات في Node وحزم المتصفح — رسم توضيحي 1

الاستيراد النسبي مقابل المجرد

تبدأ عمليات الاستيراد النسبية بـ./ أو ../. أما عمليات الاستيراد المجردة فتشير إلى الحزم المثبّتة.

// Relative path imports start with ./ or ../
// Bare specifiers refer to packages installed (e.g., "lodash")
const examples = [
  "import { sum } from \\"./math.js\\";   // relative, file nearby",
  "import leftPad from \\"left-pad\\";   // bare, from node_modules",
  "import thing from \\"../lib/thing.js\\"; // parent folder"
];

console.log("specifiers:");
for (const line of examples) console.log(line);
حلّ الوحدات في Node وحزم المتصفح — رسم توضيحي 2

الامتدادات مهمة

أضف الامتداد .js في ESM لتجنّب أخطاء الحل. وقد ترى أيضًا .mjs أو .cjs.

// Include file extensions for ESM (safe beginner habit)
const extTips = [
  "Good (ESM): import util from \\"./util.js\\"",
  "Also seen: .mjs for ESM files, .cjs for CJS files",
  "Avoid: import \\"./util\\" (may fail in Node/browsers)"
];

console.log("extensions:");
for (const t of extTips) console.log(t);
حلّ الوحدات في Node وحزم المتصفح — رسم توضيحي 3

المجلدات و index.js

غالبًا ما تعرض المجلدات الملف index.js. ويُعدّ التصريح الصريح، مثل .../index.js، واضحًا للمبتدئين.

// If you import a folder, many setups look for index.js inside it
const folderExample = [
  "my-lib/",
  "  index.js",
  "  helpers/",
  "    index.js"
];

for (const l of folderExample) console.log(l);

// Typical imports
const dirImports = [
  "import main from \\"./my-lib/index.js\\";",
  "import alsoMain from \\"./my-lib/\\";        // some setups resolve to index.js",
  "import helper from \\"./my-lib/helpers/index.js\\";"
];

console.log("imports:");
for (const l of dirImports) console.log(l);
حلّ الوحدات في Node وحزم المتصفح — رسم توضيحي 4

نقاط دخول الحزم

تعرض الحزم نقاط الدخول عبر main/exports. وتختار عمليات الاستيراد المجردة الملف المناسب لـ ESM أو CJS.

// Installed packages declare entry points in package.json
const pkgJson = [
  "{",
  "  \\"name\\": \\"tiny-lib\\",",
  "  \\"main\\": \\"dist/cjs/index.cjs\\",",
  "  \\"exports\\": {",
  "    \\".\\": { \\"import\\": \\"./dist/esm/index.js\\", \\"require\\": \\"./dist/cjs/index.cjs\\" }",
  "  }",
  "}"
];

console.log("package.json entry (example):");
for (const l of pkgJson) console.log(l);

// Importing a bare specifier will use these fields
console.log("import tiny-lib     -> resolves to ESM or CJS entry depending on environment");
حلّ الوحدات في Node وحزم المتصفح — رسم توضيحي 5

نصائح ومزالق

نصائح:

  • فضّل المسارات النسبية مع .js للملفات المحلية.
  • استخدم عمليات الاستيراد المجردة للحزم المثبّتة فقط.
  • كن صريحًا باستخدام index.js لتجنّب الالتباس.
  • في المتصفح، يجب أن تكون عمليات الاستيراد عناوين URL صالحة، وغالبًا ما تتضمن الامتدادات.
حلّ الوحدات في Node وحزم المتصفح — رسم توضيحي 6

اختبار أساسيات الحل

تحقّق سريع: مسار استيراد محلي آمن.

حلّ الوحدات في Node وحزم المتصفح — رسم توضيحي 7

مراجعة

مراجعة: الملفات المحلية ← ./file.js. الحزم ← أسماء مجردة. غالبًا ما تُحلّ المجلدات إلى index.js. تساعدك معرفة هذه القواعد على إبقاء عمليات الاستيراد بسيطة وقابلة للتوقّع.

حلّ الوحدات في Node وحزم المتصفح — رسم توضيحي 8

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

هل درس «حلّ الوحدات في Node وحزم المتصفح» مجاني؟

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

ماذا ستتعلم في «حلّ الوحدات في Node وحزم المتصفح»؟

تعلّموا كيفية حلّ الاستيرادات: المحددات النسبية مقابل المجردة، وامتدادات الملفات (.js/.mjs/.cjs)، وملفات index، ونقاط دخول الحزم البسيطة تتمرن على JavaScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

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

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

كم من الوقت يستغرق درس «حلّ الوحدات في Node وحزم المتصفح»؟

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

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

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

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

  1. أساسيات ESM — import/export والافتراضي مقابل المسمى
  2. أساسيات CommonJS — require/module.exports وexports
  3. حلّ الوحدات في Node وحزم المتصفح
← العودة إلى JavaScript Academy