ما هي تبعيات الأقران في وحدة العقدة؟

شرح بسيط لحقل peerDependencies في ملف package.json

في بعضpackage.jsonمن الملفات ، قد ترى بضعة أسطر مثل هذا:

{
  //...
  "peerDependencies": {
    "libraryName": "1.x"
  }
}

ربما تكون قد رأيت بالفعلdependenciesوdevDependencies، لكن لاpeerDependencies.

dependenciesهي الحزم التي يعتمد عليها مشروعك.

devDependenciesهي الحزم المطلوبة خلال مرحلة التطوير. قل إطار اختبار مثلدعابةأو غيرها من المرافق مثلبابلأوESLint.

في كلتا الحالتين ، عند تثبيت حزمة ، يتم تثبيت تبعياتها وتبعيات devDependencies تلقائيًا بواسطةnpm.

peerDependenciesمختلفة. لم يتم تثبيتها تلقائيًا.

عندما يتم سرد التبعية في حزمة باعتبارها peerDependency ،لم يتم تثبيته تلقائيًا. بدلاً من ذلك ، يجب أن تتضمن الكود الذي يتضمن الحزمة هذه الحزمة على أنها تبعية لها.

npmسوف يحذرك إذا قمت بتشغيلnpm installولا تجد هذه التبعية.

مثال: دعنا نقول الحزمةaيشمل التبعيةb:

a/package.json

{
  //...
  "dependencies": {
    "b": "1.x"
  }
}

صفقةbبدوره يريد الحزمةcكنظير

b/package.json

{
  //...
  "peerDependencies": {
    "c": "1.x"
  }
}

في الحزمة أ ، يجب أن نضيف بالتاليcتبعية ، وإلا عند تثبيت الحزمةb، سوف يعطيك npm تحذيرًا (ومن المحتمل أن تفشل الكود في وقت التشغيل):

a/package.json

{
  //...
  "dependencies": {
    "b": "1.x",
    "c": "1.x"
  }
}

يجب أن تكون الإصدارات متوافقة ، لذلك إذا تم إدراج peerDependency كـ2.x، لا يمكنك التثبيت1.xأو نسخة أخرى. كل ذلك يتبعالإصدار الدلالي.

تحميل مجانيكتيب Node.js


المزيد من دروس العقدة: