PracticU

פקודות NPM

בלי כתוביותעם כתוביות
PracticU › קורס NodeJS › פקודות NPM
מילון מושגים:
npm - מנהל החבילות של Node.js, המשמש להתקנה ולניהול ספריות JavaScript בפרויקט.
חבילה - אוסף ארוז של קוד, ספריות או קבצים המופץ כיחידה אחת ומותקן בעזרת מנהל חבילות.
תיקייה - מכל במערכת הקבצים שמשמש לארגון קבצים ותיקיות אחרות בתוך מבנה היררכי.
JSON - פורמט טקסט קריא לייצוג נתונים מובְנים כזוגות מפתח-ערך, נפוץ להחלפת מידע בין שרת ללקוח.
טרמינל - חלון או תוכנה שמספקים ממשק שורת פקודה להקלדת פקודות למערכת ההפעלה.
מטמון - אחסון זמני ומהיר של נתונים שנדרשים שוב, כדי להאיץ גישה ולהפחית עומס מהמקור המקורי.

פקודות NPM
קיימות כמה פקודות NPM נפוצות שעובדים איתן כשמתקינים ומסירים חבילות.
התקנה והסרה
1. npm install <שם> (או npm i): מוריד את החבילה לתיקייה node_modules ומוסיף אותה ל-dependencies. אפשר להתקין כמה חבילות בבת אחת, למשל npm i lit colors.
2. npm uninstall <שם>: מסיר את החבילה מהתיקייה ומה-dependencies.
3. התקנה לפיתוח בלבד: npm i <שם> --save-dev מוסיף את החבילה ל-devDependencies. היא לא נכללת בגרסת הפרודקשן, למשל כלי עזר לפיתוח.
4. npm install בלי שם: משחזר את כל החבילות שמופיעות ב-package.json.
המרצה מציין שבגרסאות ישנות של NPM היה צריך לכתוב --save כדי שההתקנה תירשם ב-dependencies. מגרסה מסוימת זה נעשה אוטומטית, אבל עדיין רואים את --save בהרבה מקורות.
התקנה גלובלית
npm i -g <שם> מתקין חבילה ברמת המחשב ולא בפרויקט. זה מתאים לחבילות עם פקודות CLI, כלומר פקודות שמריצים מהטרמינל. הפקודה npm root -g מציגה את התיקייה הגלובלית. בווינדוס היא נמצאת תחת AppData\Roaming\npm\node_modules בתיקיית המשתמש. התיקייה מוסתרת, ולכן צריך להציג קבצים מוסתרים כדי לראות אותה.
ניקוי מטמון
NPM שומר חלק מהפקודות במטמון (cache), וזה לפעמים יוצר בעיות בהתקנה. במקרה כזה אפשר להריץ npm cache clean --force. המרצה הזהיר שזה דורש זהירות, כי הפקודה מנקה את כל המטמון.
שחזור פרויקט
כדי להעביר פרויקט בלי התיקייה node_modules, שיכולה להיות כבדה מאוד, מוחקים את node_modules ואת package-lock.json. בפרויקט המועתק מריצים npm install, וה-NPM מוריד מחדש את כל החבילות לפי package.json.
עם הפקודות האלה אפשר להתקין, להסיר, לנקות ולשחזר פרויקטים.
השיעור הבא בקורס: הסבר על Nodemon

פרקי ההרצאה: פקודות NPM

  1. 00:00

    פקודת npm install והתיקייה node_modules

  2. 01:01

    התקנת חבילות לפיתוח בלבד

  3. 02:55

    הסרת חבילה עם npm uninstall

  4. 03:29

    התקנת כמה חבילות בבת אחת

  5. 04:26

    התקנה גלובלית עם מתג -g

תמלול ההרצאה: פקודות NPM

הטקסט המלא של הדקות הראשונות בהרצאה «פקודות NPM» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    קיימות מספר פקודות npm נפוצות שאנחנו הרבה פעמים עובדים איתן כשאנחנו רוצים לעבוד עם packages או להתקין packages. בואו נראה את הפקודות האלה. אז ראשית ראינו את הפקודה הראשונה של npm install ואת שם הpackage לדוגמה ליט או בקיצור npm ilit.

  2. 00:28

    הדבר הזה ניגש לשרתים של npm ומוריד את הpackage ומתקין אותו מקומית אצלנו באפליקציה. איפה זה בעצם מותקן? אז יש לנו כאן תיקייה שנקראת Node Modules ובתוכה אנחנו רואים את ההתקנות השונות שעשינו.

  3. 00:44

    זאת אומרת שכל הפאקג' ליט עם כל הקבצים שלו נמצא אוקיי, מעולה. בנוסף, המערכת מציינת לנו בדיפנדנסיז שאנחנו התקנו את הליט ואת המספר גרסה שלו. אם אנחנו נשחזר את הפרויקט ותכף נראה איך אנחנו משחזרים פרויקט.

  4. 01:03

    אז המערכת אוטומטית תחזיר לנו את הפאקג' הזה בחזרה. יכול להיות מצב שאנחנו רוצים להתקין איזשהו פאקג', אבל אנחנו רוצים להתקין אותו רק לצרכים של פיתוח.

  5. 01:21

    אנחנו לא רוצים שהפאקג' הזה יהיה בדיפנדנסי הכללי של המערכת שלנו בשביל הפרודקשן. כלומר, אם אנחנו מעלים את המערכת הזאת באמת לאוויר לאיזשהו שרת אמיתי, אנחנו לא צריכים את הפאקג' הזה שמה.

  6. 01:36

    זה יכול להיות כל מיני כלים תכנותיים, זה יכול להיות כל מיני פאקג' שעוזר לנו בפיתוח, זה יכול להיות פאקג' שרק נותן לנו כל מיני נתונים לגבי האינטליסנס או לגבי קומפיילר, או דברים שאנחנו בעצם לא צריכים בפרודקשן אלא רק בדבלופמנט.

  7. 01:59

    אם זה קורה, אז אנחנו רוצים להתקין את הפאקג' בצורה הבאה: npm i שם הפאקג' לדוגמה בואו ניקח שוב פעם את ה.. בואו ניקח את colors נניח שאת ה-colors אני רוצה רק בפיתוח אבל אני לא באמת צריך אותם בפרודקשן עצמו.

  8. 02:18

    מה שאנחנו צריכים לעשות זה מינוס מינוס save מינוס dev enter ושימו לב איפה הפאקג' הזה עכשיו מותקן לנו. אז אם אנחנו הולכים לפאקג' אז אנחנו רואים שיש לנו עכשיו מעבר לדיפנדנסיז גם dev dependencies וכאן אנחנו רואים שהוא התקין לנו במקום ההתקנה המקורית של הדיפנדנסיז.

  9. 02:43

    זה אומר שאם אנחנו עכשיו נבצע איזושהי פקודת build או איזושהי פקודה שלוקחת את כל המערכת והופכת אותה למערכת עבור שרת אמיתי הוא לא יצרף את הפאקג' הזה למערכת שאמורה להיות בפרודקשן.

  10. 02:59

    איך אנחנו מסירים פאקג'? npm uninstall שם ה-package ליט, וזה אמור להסיר אותו. הנה אנחנו רואים שהוא הסיר לנו את זה מה-dependencies.

  11. 03:13

    בואו נבצע את אותו הדבר עבור colors ועל הפעם נסיר אותו מה-save dev, ואז הוא אמור להסיר אותו מהאזור של ה-development.

  12. 03:29

    בואו, אפשר להיפטר משני אלה עכשיו, והמערכת תיצור לנו אותם. אם אין לנו אותם, אז אנחנו בעצם נפטרים מהם. ברגע שאני אתקין איזה משהו, אז עוד פעם אנחנו נראה אותם.

  13. 03:43

    דבר נוסף שאנחנו יכולים לעשות, npm-i, זה להתקין כמה בבת אחת. לדוגמה, גם את ליט וגם את colors, אין לי פה את המינוס מינוס save dev, ולכן הם יותקנו אוטומטית בדפנדנסיז.

  14. 03:57

    אין לנו הגבלה, אנחנו יכולים כמה שאנחנו רוצים. שימו לב, added two packages. דבר נוסף שחשוב לציין, פעם בגרסאות ראשונות של NPM כשאנחנו ביצענו התקנה היינו צריכים לרשום מינוס מינוס סייב.

  15. 04:16

    זה בעצם היה דואג שההתקנה אכן נכתבת בתוך הדיפנדנסיז. מגרסה מסוימת הוא עושה את זה אוטומטית, אז לא צריך לרשום מינוס מינוס סייב, אבל לפעמים רואים את זה עדיין באינטרנט, בסטאק אוף אוף לואו, בכל מיני מקומות, שאתם צריכים לבצע סייב, אבל הוא כמובן מבצע את זה מאיזושהי גרסה, גם בלי זה.

  16. 04:38

    מה עוד שווה לדעת? יש לנו התקנה נוספת, בואו ניקח npm install. נניח שאני מתקין עכשיו איזשהו package, בואו ניקח את colors, ואני רוצה להתקין אותו, אבל לא בתיקייה הנוכחית, אלא אני רוצה להתקין אותו באיזושהי תיקייה מרכזית במחשב.

  17. 04:59

    אז בכדי לבצע את זה, אני פשוט עושה מינוס g. פינוס G מתקין אותו בתיקייה המרכזית במחשב ולא כותב אותו פה בדיפנדנסיז, אבל זה לא מיועד בשביל פאקג'ים רגילים לצורך שימוש על ידי Require.

  18. 05:17

    זה מיועד לפאקג'ים שיש בהם פקודות CLI. מה זה CLI? CLI זה Command Line Interface, זה פקודות שהם חלק מהקומנדליין.

לקורס המלא: קורס NodeJS אונליין בעברית

ההרצאה הקודמת: התקנת Package עם NPM

ההרצאה הבאה: הסבר על Nodemon

הרצאות קשורות מקורסים אחרים

  • פקודות ב-MongoDB
  • סיכום פקודות ב-ANSIBLE
  • יצירת טבלה - פקודות
  • פקודות break and continue

קורסים נוספים במסלול

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס Javascript כולל JQuery
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס ריאקט - React