الأدوات المحلية مقابل العالمية وbins وسير العمل الملائم للفريق
فضّلوا الأدوات المحلية في المشروع على التثبيتات العالمية؛ وافهموا أوامر package "bin" ومسار npm-run PATH وأنماط العمل البسيطة للفِرق
الأدوات المحلية مقابل العالمية وbins وسير العمل الملائم للفريق درس مجاني في JavaScript Academy على CoddyKit. هذا هو الدرس 3 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في JavaScript Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة JavaScript Academy 3 دروس في المجموع.
لماذا الأدوات المحلية؟
الهدف: تشغيل الأدوات نفسها في كل مكان.
- فضّل الأدوات المحلية (devDependencies)
- استخدم npm scripts لكي يتضمن PATH المسار المحلي node_modules/.bin
- افهم إدخالات bin في الحزم
- تجنّب اختلاف الإصدارات في التثبيتات العامة

المحلي أفضل من العام
يضيف npm run تلقائيًا node_modules/.bin إلى PATH، ويستخدم إصدار الأداة الموجود في المشروع.
// Emulate running a tool locally vs globally
function runLocal() {
console.log("npm run lint");
console.log("→ uses node_modules/.bin/eslint (project version)");
}
function runGlobal() {
console.log("eslint .");
console.log("→ might use a different global version on each machine");
}
runLocal();
runGlobal();

كيف تظهر CLIs
ينشئ الحقل bin في الحزمة ملفات تنفيذية داخل node_modules/.bin (مثلًا: mytool).
// Packages expose CLI commands via "bin" in package.json
const pkgLines = [
"{",
" \"name\": \"my-tool\",",
" \"version\": \"1.0.0\",",
" \"bin\": {",
" \"mytool\": \"./dist/cli.js\"",
" }",
"}"
];
for (const l of pkgLines) console.log(l);
// Install as devDependency => creates node_modules/.bin/mytool
console.log("After install: run with npm run or npx mytool");

PATH داخل scripts
داخل npm scripts، يمكن العثور على أدواتك المحلية تلقائيًا عبر PATH المعدَّل.
// When using npm run <name>, PATH includes node_modules/.bin first
const envExplain = [
"npm run build -> PATH starts with node_modules/.bin",
"so running \"vite\" resolves to ./node_modules/.bin/vite"
];
for (const l of envExplain) console.log(l);

سير عمل الفريق
سير العمل:
- أضفها بصفتها devDependency
- أنشئ script
- أدرج lockfile في commit
- استخدم npm ci لعمليات التثبيت النظيفة
// Team checklist for consistent tools
const checklist = [
"1) Add tool to devDependencies",
"2) Add an npm script (e.g., \"lint\")",
"3) Commit package.json and lockfile",
"4) Teammates run: npm ci && npm run lint"
];
for (const step of checklist) console.log(step);

التثبيتات العامة (نادرًا)
حالات التثبيت العام النادرة:
- أدوات مساعدة على مستوى النظام تستخدمها يدويًا (مثل http-server للاختبارات السريعة)
- لكن فضّل npx للأدوات التي تستخدمها مرة واحدة، والتثبيتات المحلية للمشروع عند العمل ضمن فريق

اختبار المحلي مقابل العام
تحقق سريع: إصدارات الأدوات المتسقة.

مراجعة
مراجعة: ثبّت الأدوات محليًا، وأتِح CLIs عبر bin، وشغّلها من خلال npm scripts (إذ يتضمن PATH المسار .bin)، وأدرج lockfile في commit، وتجنّب اختلاف الإصدارات في التثبيتات العامة.

الأسئلة الشائعة
هل درس «الأدوات المحلية مقابل العالمية وbins وسير العمل الملائم للفريق» مجاني؟
نعم — نص درس «الأدوات المحلية مقابل العالمية وbins وسير العمل الملائم للفريق» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة JavaScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة JavaScript Academy 3 دروس في المجموع.
ماذا ستتعلم في «الأدوات المحلية مقابل العالمية وbins وسير العمل الملائم للفريق»؟
فضّلوا الأدوات المحلية في المشروع على التثبيتات العالمية؛ وافهموا أوامر package "bin" ومسار npm-run PATH وأنماط العمل البسيطة للفِرق تتمرن على JavaScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ JavaScript Academy؟
لا تُشترط خبرة سابقة. JavaScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 3.
كم من الوقت يستغرق درس «الأدوات المحلية مقابل العالمية وbins وسير العمل الملائم للفريق»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس JavaScript Academy هذا؟
نعم. كل درس في JavaScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- package.json والسكربتات وdeps مقابل devDeps
- npx ونطاقات الإصدارات الدلالية
- الأدوات المحلية مقابل العالمية وbins وسير العمل الملائم للفريق