אחת התכונות הטובות ביותר של Node היא מנהלי חבילות. ישנן דרכים רבות ושונות להתקין ולנהל חבילות צומת. כאן, נבחן את היתרונות והחסרונות של שימוש במנהל חבילות אחד או שימוש ביותר ממנהל חבילות אחד, וכמה מהדרכים הטובות ביותר להשתמש בהם יחד.
מה זה מנהל חבילות אתם שואלים? המשך לקרוא כדי לגלות.
מהם מנהלי חבילות?
בעולם פיתוח התוכנה, תלות היא מה שאתה צריך כדי להפעיל את הפרויקט שלך. הם כמו מרכיבים במתכון: בלעדיהם שום דבר לא קורה.
לדוגמה, אם אתה כותב אפליקציה שמשתמשת ב-JavaScript, והיא רוצה גישה לכמה פונקציות מ ספרייה בשם jQuery (שבאתרים רבים השתמשו בעבר), אז jQuery יהיה אחד מהתלות שלך. תצטרך אותו להתקין כך שכאשר מישהו מבקר באתר שלך, הוא יוכל לראות את האנימציות המגניבות או האינטראקציות האלה שיצרת איתו!
מנהלי חבילות עוזרים לנהל את מערכות היחסים הללו בין פרויקטים על ידי ניהול תלות עבורנו, כך שאיננו צריכים לדאוג להורדה ידנית שלהם בעצמנו כל כשאנחנו רוצים להוסיף או לעדכן משהו חדש - הם גם מוודאים שהכל עובד ביחד כמו שצריך ופועל בצורה חלקה לאחר ההתקנה (מה שלפעמים קל יותר לומר מאשר בוצע).
צומת מגיע ארוז מראש עם מנהל חבילות בשם NPM
NPM הוא מנהל החבילות המוגדר כברירת מחדל, וככזה, הוא מובנה בזמן הריצה של הצומת. אתה יכול להשתמש ב-NPM כדי להתקין חבילות מ-GitHub או NPM באופן ישיר. אתה יכול גם לפרסם את החבילות שלך באתר זה כדי שאחרים יוכלו להתקין אותן באמצעות הגרסה שלהם של NPM.
NPM לא משמש רק להתקנת חבילות; הוא גם מטפל בפתרון תלות והתנגשויות גרסאות בין שתי ספריות או מודולים נדרשים או יותר בבסיס קוד היישום שלך.
זה אומר שאם יש גרסאות מרובות של משהו כמו אקספרס פועל בשרת שלך בכל זמן נתון, NPM תוודא שכל מופע יקבל את מה שהוא צריך מבלי להתנגש איתו מקרים אחרים שעושים עבודה דומה - והכל מבלי לדרוש ממך לעשות משהו מיוחד מעבר לפשוט יִעוּד לִדרוֹשׁ() על חפץ בעת הצורך!
NPM הוא כלי חזק להפליא, וקל להתחיל איתו. אבל אם אתה חדש ב-Node וב-JavaScript, זה יכול להיות מאתגר לדעת אילו כלים זמינים לשימוש שלך - ואילו מהם הם הטובים ביותר עבור פרויקט נתון.
הבעיה העיקרית עם NPM היא שהתקנת חבילות אטית. זה לא עניין ענק אם אתה רק מריץ מדי פעם תסריט או שניים, אבל זה יכול להיות מדהים מתסכל אם אתה מנסה לבנות אפליקציה שלמה המשתמשת בעשרות ספריות שונות ו כלים.
חוט ו-PNPM מהירים יותר מ-NPM
Yarn הוא אלטרנטיבה מאובטחת ואמינה ל-NPM המשתמשת בקובץ נעילה כדי למנוע החלפות בשוגג ומבטיחה שהתלות שלך נפתרת כהלכה בעת התקנת חבילות.
יש לו גם זמן התקנה מהיר יותר מאשר NPM, מה שהופך אותו לשימושי במיוחד אם אתה עובד עם פרויקטים גדולים שיש להם מודולים רבים עם הרבה תלות.
PNPM היא אלטרנטיבה הן ל-Yarn והן ל-NPM, אך היא עדיין לא כל כך פופולרית מכיוון שאין לה חלק מהתכונות שנמצאות באף אחת מהן (כמו קובצי נעילה). עם זאת, המפתחים שלה טוענים ש-PNPM יכולה להתקין חבילות עד פי ארבעה מהר יותר מאשר Yarn או NPM הודות לאופי הקל משקל שלה; זה אומר פחות שימוש בשטח דיסק גם במחשב שלך!
אם אתה בונה פרויקט שדורש רק קומץ תלות, אז כנראה Yarn או NPM יספיקו. עם זאת, אם אתה עובד עם פרויקטים גדולים עם הרבה מודולים ותלות, PNPM יכול להיות האפשרות הטובה יותר עבורך.
יתרונות השימוש במנהלי חבילות מרובות
מנהל חבילה בודד יכול לטפל רק בגרסה אחת של כל ספרייה נתונה בכל פעם. אם ברצונך להשתמש בשתי גרסאות שונות של אותה ספרייה עבור פרויקטים אחרים או בסביבות שונות (לדוגמה, ייצור לעומת. פיתוח), אז תזדקק לשתי חבילות נפרדות המותקנות במערכת שלך.
זה יכול להוביל להתנגשויות אם שתי החבילות מנסות לעדכן את הגרסה שלהן של אותה תלות בו-זמנית. שימוש במנהלי חבילות מרובים פירושו שיש לך יותר שליטה על אילו תלותיות מותקנות והיכן מה שעוזר למנוע התנגשויות מסוג זה.
יתרון נוסף הוא שכאשר משתמשים במספר מנהלי חבילות, כל אחד מהם יספק את מערך התכונות הייחודי שלו. חלקם עשויים להיות מהירים יותר מאחרים; לחלקם עשויות להיות יכולות ניהול תלות טובות יותר; אחרים עשויים להיות מתאימים יותר לפיתוח יישומים בתוך מסגרות מסוימות כמו ReactJS או VueJS וכו'...
לבסוף, שימוש במנהלי חבילות מרובים יכול לעזור לשפר את פרודוקטיביות המפתחים שלך על ידי צמצום הזמן המושקע בחיפוש והתקנת תלות. הסיבה לכך היא שכל מנהל חבילות יתוכנן תוך מחשבה על סט ספציפי של מקרי שימוש (לדוגמה, מהירות לעומת. אבטחה לעומת ניהול תלות וכו'...).
השתמש במנהלי חבילות מרובים על ידי התקנתם באופן גלובלי
באמצעות שורת הפקודה, תוכל לציין באיזה מנהל חבילה תרצה להשתמש עבור פרויקט ספציפי. הגדר מספר מנהלי חבילות במחשב שלך:
- NPM מגיע ארוז מראש עם Node. זה יאפשר לך להתקין חבילות אחרות (ומנהלי חבילות) משורת הפקודה ולנהל תלות בכל הפרויקטים שלך עם NPM. זה גם מועיל אם אתה רוצה להפעיל סקריפטים של NPM בדפדפן (למשל, Webpack), מכיוון שדפדפנים לא מגיעים עם NPM מותקן מראש!
- התקן Yarn גם ברחבי העולם באמצעות NPM. זוהי אפשרות פופולרית נוספת לניהול תלות בתוך פרויקטי JavaScript; יש לו כמה יתרונות על פני NPM שעשויים להפוך אותו למועדף עבור סוגים מסוימים של פרויקטים או צוותים
- לבסוף, התקן את PNPM. מנהל החבילות הזה הוא מזלג של NPM שנועד להיות מהיר ויציב יותר. יש לו גם כמה תכונות נוספות שעשויות להיות שימושיות עבור סוגים מסוימים של פרויקטים, כגון תמיכה בתלות מ-GitHub.
שים לב שהתקנה גלובלית פירושה שהחבילה שנבחרה תהיה זמינה לכל המערכת שלך (תוכל לגשת התוכנית בכל מקום דרך שורת הפקודה), בעוד להתקנה מקומית ניתן לגשת רק על ידי העובד הנוכחי מַדרִיך.
דוגמאות בעולם האמיתי כיצד ניתן להשתמש במנהלי חבילות מרובים
בדוק את השימושים האלה:
1. ניתן להשתמש בחוט וב-NPM יחד (למשל. ליצור-להגיב-אפליקציה)
זה שימושי כאשר אתה רוצה לנצל את המהירות והיעילות של Yarn תוך שמירה על תאימות עם חבילות NPM. אם אתה צריך את הגרסה העדכנית ביותר של ספרייה שעדיין לא עודכנה לצורך תאימות עם Yarn, או אם יש סיבה אחרת מדוע הצוות שלך מעדיף להישאר עם NPM למרות המהירות האיטית יותר או קבוצת התכונות המוגבלת שלו, אז זה עשוי לעבוד טוב עבורך פּרוֹיֶקט. זה גם עוזר להימנע משני עצי תלות נפרדים בהגדרת המונו ריפו שלך!
2. שימוש בחוט עבור חבילות גלובליות וב-PNPM עבור התקנות מקומיות
בעוד PNPM הוא מנהל החבילות המהיר ביותר, זה יכול להיות מסובך לשימוש עבור חבילות מותקנות ברחבי העולם. הסיבה לכך היא שהוא משתמש במבנה קבצים אחר שעלול לגרום לבעיות תאימות עם תוכניות כגון Visual Studio Code. כאן נכנס חוט לתמונה. אתה יכול להשתמש בו עבור החבילות המותקנות ברחבי העולם, וב-PNPM עבור התקנות מקומיות. פתרון זה הוא דרך טובה לקבל את היתרונות של שני מנהלי החבילות מבלי לשנות יותר מדי את זרימת העבודה שלך. עם ההגדרה הזו - אם אתה רוצה להתפרע - אתה יכול להסיר את NPM מהמערכת שלך לחלוטין (אבל זה תמיד נחמד שיש NPM כגיבוי).
3. שימוש ב-PNPM עם NPM כ-fallback
זוהי אפשרות טובה לשקול במקרה שאתה רוצה להשתמש ב-PNPM, אבל לא רוצה שכל המפתחים שלך עדיין יצטרכו ללמוד כלי חדש. זה מאפשר להם להמשיך לעבוד עם NPM עד שהם מרגישים בנוח עם PNPM ויזדקקו לו לעבודתם.
שימוש במנהלי חבילות מרובים מקל על הדברים
אתה יכול להשתמש במנהלי חבילות מרובים. אתה יכול להתקין אותם באופן גלובלי או מקומי, ואם אתה רוצה לציין באיזה מנהל חבילה יש להשתמש עבור פרויקט ספציפי, פשוט השתמש בשורת הפקודה!
אם ברצונך להתקין מספר מנהלי חבילות במערכת שלך, ודא שאתה משתמש באותה גרסה של Node.js.
לסיכום, אנו חושבים שכדאי להשתמש ביותר ממנהל חבילות אחד. זוהי דרך מצוינת להתחיל עם Node וגם ללמוד כמה כלים חדשים אם אתה כבר מכיר את NPM. אם עדיין לא התקנת את Node, ההתקנה קלה ב-Windows.