يوم جيد!
عاجلاً أم آجلاً ، تواجه المؤسسات مشاكل في توزيع وحدات js بين المشاريع ، وقد حان الوقت الذي نشأ فيه هذا السؤال في شركتنا.
إن نسخ ولصق الكود هو الطريق إلى الجانب المظلم ، لذلك تم اتخاذ القرار بكتابة ليس فقط كود js ، ولكن إنشاء حزم npm منه للتوزيع بين مشروعاتك.
أدى البحث عن مستودعات npm المجانية والخاصة إلى طريق مسدود ، واستخدام المستودعات الخاصة على
npm يتطلب رسومًا (ليست
عقليتنا ).
نظرًا لأن المكتب يحتوي على خادم يعمل دائمًا (تقريبًا) ، فقد تقرر نشر npm المحلية.

جهاز مستودعات npm المحلية الشعبية بسيط للغاية ورتيب ، اخترنا
Verdaccio ، نظرًا لحقيقة نشر التحديثات الخاصة به مؤخرًا نسبيًا.
هذه حزمة npm يتم تثبيتها بشكل أساسي على Node.js> 4 وتوفر واجهة ويب لمنفذ معين.
ميزة إضافية كبيرة هي وظيفة التخزين المؤقت ، عندما لا يجد npm المحلي الحزمة المطلوبة منه ، ثم ينتقل إلى npmjs.com ، ويقوم بتنزيل الحزمة الضرورية على القرص ، وعند الطلبات المتكررة لهذه الحزمة ، يوزع نسخته المخزنة بالفعل.
لذا ، لإعداد.
على الجهاز الذي سيكون الخادم:
npm i -g verdaccio
في الملف C: \ Users \ lab \ AppData \ Roaming \ verdaccio \ config.yaml توجد معلمات الخادم
المعلمات الافتراضية قابلة للتطبيق ، ولا يمكنك تغيير أي شيء ، ما عليك سوى إضافة الإعداد في نهاية الملف ، وبفضل ذلك سيفهم Verdaccio أي منفذ للاستماع إليه.
listen: 192.168.51.79:1234
192.168.51.79 هو خادم IP ، يقوم بتعيين العنوان حتى نتمكن من الوصول من الشبكة المحلية عبر خادم IP ، أو عن طريق اسم DNS الخاص به وإضافة منفذ 1234 سنصل إلى واجهة الويب.
إذا قمت بتسجيل
الاستماع: 192.168.51.79:80 فلا حاجة لكتابة منفذ عند تكوين العملاء.
بعد ذلك ، قم بتشغيل npm المحلية الخاصة بنا
verdaccio
سيتم تنفيذ الإجراءات المتبقية على العملاء.
قم بتعيين المسار إلى المستودع المحلي.
npm set registry http:
تم ، سيتم الآن نقل جميع طلبات npm الخاصة بك وسيتم تخزينها مؤقتًا من خلال الخادم المحلي.
إذا كنت بحاجة إلى نشر حزمة npm على الخادم ، فاتبع الإرشادات أدناه.
إنشاء مستخدم
npm adduser --registry http:
تسجيل الدخول
npm login password bezrukov@mir-omsk.ru
نتحقق من أننا تحت "تسجيل الدخول" المستخدم
npm whoami
ننشر الحزمة ، rootProjectFolder هو مجلد يحتوي على الأقل على ثلاثة ملفات index.js \ package.json \ README.md ،
يتم نشر المثال على github .
cd /rootProjectFolder npm publish
تحديث الحزمة. نقوم بتحديث الإصدار في package.json ، وننفذ الأوامر
cd /rootProjectFolder npm publish
الحزمة على الخادم المحلي ، يمكنك الذهاب إلى
192.168.51.79 : 1234 ومعرفة أن هناك حزمة جديدة.
بالمناسبة ، يتم تقديم معلومات حول كل من الحزم في شكل مناسب وهناك بحث عن الحزم المحلية.

ملاحظة: إذا كانت شبكتك تحتوي على وكيل ، فأنت بحاجة إلى تحديد معلماتها بشكل صريح على الخادم ، ولكنك لا تحتاج إلى القيام بذلك على العميل ، لأن مستودع npm محلي ولا تحتاج إلى خادم وكيل للوصول إلى العملاء.
على الخادم ، قم بتشغيل الأمر
npm config edit وأضف الأسطر التالية
proxy=http:
PPS عند التشغيل على النوافذ ، يفضل استخدام powerhell على الخادم ، وقد يتم تجميد cmd npm بعد يوم واحد.
سأكون سعيدًا بالتعليقات والملاحظات حول كيفية عمل ذلك من أجلك.