Node.js: هل يجب عليك استخدام التبعيات أو DevDependencies؟

Node.js: هل يجب عليك استخدام التبعيات أو DevDependencies؟
القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة. اقرأ أكثر.

التبعية هي جزء من التعليمات البرمجية - مكتبة أو وحدة نمطية أو حزمة - يحتاجها المشروع ليعمل بشكل صحيح.





لماذا تقول رسالتي لم يتم تسليمها

في Node.js ، التبعيات و devDependencies عبارة عن فئات من الحزم يمكنك تحديدها في ملف package.json لإدارة تبعيات مشروعك. استكشف اختلافاتهم وتعلم كيفية استخدامها في مشاريعك.





اجعل فيديو اليوم قم بالتمرير للمتابعة مع المحتوى

التبعيات المنتظمة في مشروع npm

التبعيات العادية - أو ببساطة التبعيات - هي الحزم التي يتطلبها تطبيقك للعمل على النحو المنشود في وقت التشغيل وفي بيئات الإنتاج.





يمكن أن تشمل التبعيات:

  • المكتبات الخارجية التي تقدم وظائف مسبقة الصنع ، مثل لوداش.
  • الأطر التي توفر أساسًا أو بنية لبناء التطبيقات ، مثل Express أو React.
  • برامج تشغيل قواعد البيانات ، مثل MongoDB أو sqlite3.
  • الحزم التي تساعد في المهام المتعلقة بالشبكة ، مثل Axios أو Socket.io.

على سبيل المثال ، إذا كنت بصدد إنشاء ملف واجهة برمجة تطبيقات CRUD مع Express.js و يعبر ستكون إحدى تبعياتك لأن خادمك يحتاجها ليعمل.



لتثبيت تبعيات وقت التشغيل ، يمكنك استخدام مدير الحزم مثل npm ، مدير حزمة العقدة ، أو الغزل.

توجد التبعيات ضمن كائن التبعيات في ملف package.json. يخزن كائن التبعيات أسماء وإصدارات الحزم.





لتثبيت حزمة كاعتماد باستخدام NPM ، قم بتشغيل الأمر أدناه:

 npm install <package-name> 

يقوم الأمر أعلاه بتثبيت الحزمة وتسجيلها كعنصر تابع لمشروعك في package.json :





 // package.json 

"dependencies": {
    "package-name": "^package-version",
}

عند استنساخ مشروع من مستودع على شبكة الإنترنت ، يمكنك تثبيت التبعيات عن طريق تشغيل الأمر أدناه:

 npm install 

عند تشغيل الأمر أعلاه ، يقوم مدير الحزم بقراءة ملف package.json ملف وتثبيته التبعيات و devDependencies المحددة من تسجيل الحزمة.

التبعيات التنموية وكيفية استخدامها

تبعيات التطوير - أو devDepenendencies - هي حزم يحتاجها تطبيقك فقط أثناء عملية التطوير. بمعنى آخر ، ليست هناك حاجة إليها في الإنتاج.

يمكن أن تشمل اعتمادات dev:

  • أطر الاختبار ، مثل Jest أو Mocha.
  • عداءون للاختبار ، مثل شاي.
  • Linters والمنسقات ، مثل Eslint.
  • أدوات التوثيق ، مثل Swagger.

مثال شائع على devDepenedency هو حزمة Nodemon ، والذي يعيد تشغيل الخادم الخاص بك عندما يكتشف تغييرات في البرامج النصية الخاصة بك.

يمكنك تحديد devDependencies ضمن ملف devDependencies كائن في package.json ملف. يخزن هذا الكائن أسماء وإصدارات الحزم.

يمكنك تثبيت حزمة على أنها devDependency عن طريق تشغيل هذا الأمر:

 npm install <package-name> --save-dev 

بدلاً من ذلك ، يمكنك تثبيت حزمة باعتبارها devDependency عن طريق تشغيل هذا الأمر:

 npm install -D <package-name> 

يقوم الأمر أعلاه بتثبيت وتسجيل الحزمة في ملف package.json ملف ، مثل:

 // package.json 
"devDependencies": {
    "package-name": "^package-version"
}

عند استنساخ مشروع من مستودع مستند إلى الويب ، يتم تشغيل ملف تثبيت npm سيقوم الأمر أيضًا بتثبيت devDependencies.

ومع ذلك ، فإن تشغيل الأمر بملحق إنتاج العلم يثبت فقط التبعيات.

على سبيل المثال:

 npm install --production 

عند تشغيل الأمر أعلاه ، يقوم مدير الحزم بقراءة ملف package.json ملف ويقوم بتثبيت تبعيات التطبيق الخاص بك من سجل الحزمة.

بدلاً من ذلك ، يمكنك ضبط ملف NODE_ENV متغير إلى ' إنتاج 'لتحقيق نفس النتائج.

أنواع التبعيات الأخرى

بصرف النظر عن التبعيات وتبعيات devDependency ، تصنف Node.js أيضًا الحزم على أنها الأقران و التبعيات الاختيارية .

تبعيات الأقران

تبعيات الند هي تبعيات تستخدمها الحزمة عندما تتوقع وجود إصدار معين أو إصدار متوافق من حزمة أخرى في التطبيق الذي يستخدمها.

الغرض من تبعيات الأقران هو التأكد من أن الحزمة تعمل بشكل صحيح مع تبعياتها وتجنب التعارضات أو مشكلات التوافق.

كيفية مسح القرص الصلب بالكامل

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

هم موجودون تحت تبعية الأقران الكائن في ملف package.json:

 "peerDependencies": { 
    "package": "^version"
}

التبعيات الاختيارية

التبعيات الاختيارية هي حزم ليست ضرورية للوظيفة الأساسية للمشروع ولكن يمكنها تحسين قدراته إذا كانت متوفرة.

نظرًا لأن التبعيات الاختيارية ليست مطلوبة حتى يعمل المشروع بشكل صحيح ، يمكنك حذفها أثناء التثبيت.

سيؤدي تشغيل الأمر أدناه إلى تخطي التبعيات الاختيارية أثناء عملية التثبيت:

 npm install --omit=optional 

هم موجودون تحت التبعيات الاختيارية الكائن في ملف package.json:

 "optionalDependencies": { 
    "package": "^version"
}

الفئات تجعل من الأسهل إدارة التبعيات الخاصة بك

يساعد فهم التبعيات وإدارتها وتصنيفها بشكل فعال في ضمان الفصل الواضح بين الحزم المطلوبة للإنتاج وتلك المطلوبة فقط أثناء التطوير.

يساعد هذا التمييز في إدارة التبعية الفعالة والتجميع المناسب والنشر المبسط لمشروعك.