عند العمل على مشروع Node.js، تعد إدارة التبعيات جانبًا مهمًا يضمن تشغيل مشروعك بسلاسة. التبعيات هي المكتبات أو الحزم التي يحتاجها مشروعك ليعمل. هناك نوعان رئيسيان من التبعيات التي يجب أن تكون على دراية بهما: تبعيات التطوير والتبعيات العادية.
هذه هي الحزم المطلوبة فقط خلال مرحلة التطوير. ليست هناك حاجة إليها في بيئة الإنتاج. على سبيل المثال، عادةً ما يتم إدراج أدوات مثل الطرود أو حزمة الويب أو babel، التي تساعد في إنشاء مشروعك أو تجميعه، ضمن تبعيات التطوير.
إليك مثال لكيفية تحديد devDependency في ملف package.json الخاص بك:
"devDependencies": { "parcel": "^2.8.3" }
هذه هي الحزم التي يحتاجها مشروعك في كل من بيئات التطوير والإنتاج. تتضمن الأمثلة أطر عمل مثل React، أو مكتبات تقديم طلبات HTTP، أو أي تعليمات برمجية أخرى يعتمد عليها تطبيقك للتشغيل.
في ملف package.json، قد تلاحظ رموزًا مثل ^ أو ~ قبل أرقام الإصدار. تُستخدم هذه الرموز لتحديد نطاقات الإصدارات:
علامة الإقحام (^): يسمح هذا الرمز بتحديث الإصدارات الثانوية. على سبيل المثال، "الطرد": "^2.8.3" يعني أن أي إصدار من 2.8.3 إلى أقل من 3.0.0 مقبول.
Tilde (~): يسمح هذا الرمز بالتحديثات لتصحيح الإصدارات. على سبيل المثال، "الطرد": "~2.8.3" يعني أن أي إصدار من 2.8.3 إلى أقل من 2.9.0 مقبول.
يعتبر كل من package.json وpackage-lock.json ضروريين لإدارة التبعيات في مشروع Node.js، لكنهما يخدمان أغراضًا مختلفة:
package.json: يسرد هذا الملف التبعيات التي يحتاجها مشروعك ويمكن أن يتضمن نطاقات الإصدار (^ أو ~).
package-lock.json: يقوم هذا الملف بتأمين الإصدارات الدقيقة لكل تبعية، مما يضمن أنه في كل مرة تقوم أنت أو شخص آخر بتثبيت المشروع، يتم استخدام نفس الإصدارات.
يمكن رؤية ملف package.json كجزء من تكوين مشروعك، مع تحديد الحزم المطلوبة والإصدارات الخاصة بها. يشبه المجلدNode_modules قاعدة البيانات حيث تم تثبيت جميع هذه الحزم.
يمكن أن يكون للتبعيات تبعيات خاصة بها، مما يؤدي إلى إنشاء سلسلة تعرف باسم التبعيات المتعدية. على سبيل المثال، قد تعتمد الطرود على طرود أخرى، وقد تعتمد تلك الطرود على طرود أكثر. تتم إدارة هذه السلسلة تلقائيًا نيابةً عنك، مما يضمن تثبيت جميع الحزم الضرورية.
آمل أن يمنحك هذا فهمًا أوضح لكيفية عمل التبعيات في مشاريع Node.js. إدارة هذه الأمور بشكل صحيح تضمن تشغيل مشروعك بكفاءة وكما هو متوقع، سواء أثناء التطوير أو في الإنتاج.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3