PracticU

פירסום Package באתר של NPM - חלק 2

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

פירסום Package באתר של NPM - חלק 2
כדי לפרסם חבילה ב-NPM צריך חשבון, ואישור של כתובת הדואר האלקטרוני לפני הפרסום הראשון.
יצירת חשבון והתחברות
1. npm adduser: יוצר חשבון חדש. המערכת מבקשת שם משתמש ייחודי, סיסמה (שאינה נראית בזמן ההקלדה) וכתובת דואר אלקטרוני.
2. אישור האימייל: אחרי ההרשמה נשלח מייל לאישור, ועד לאישור אי אפשר לפרסם. במקרה של המרצה הקישור היה צריך להיפתח מאותו מחשב שבו נוצר החשבון, כי הוא מכיל טוקן מיוחד.
3. npm whoami: מציג את שם המשתמש המחובר.
4. npm logout ו-npm login: יוצאים מהחשבון ומתחברים שוב.
פרסום
npm publish מעלה את החבילה. הניסיון הראשון נכשל בהודעה שצריך לאמת את האימייל לפני פרסום חבילה חדשה. אחרי שהאימייל אושר מהמחשב הנכון, הפרסום הצליח.
כדי לפרסם גרסה חדשה מעלים את מספר הגרסה ב-package.json ומריצים שוב npm publish. אם מספר הגרסה לא השתנה, הפרסום לא יצליח.
בדיקה מפרויקט אחר
בתיקייה חדשה מריצים npm init -y, ואחר כך npm install circle-temp-example-1. מייבאים את החבילה עם require וקוראים לפונקציות שלה, כמו בפרויקט המקורי.
גרסה 1.1.0
נוספה פונקציה getDiameter שמחזירה את הקוטר (2 * r). זה שדרוג שלא שובר את הגרסה הקודמת, ולכן מדובר בגרסת MINOR. לפני ההתקנה מחדש הפונקציה לא הייתה זמינה והתקבלה שגיאה. לאחר פרסום גרסה 1.1.0 וההתקנה מחדש בפרויקט הבדיקה, הפונקציה עבדה.
כך מפרסמים חבילה, מעדכנים גרסה ובודקים אותה מפרויקט אחר.

פרקי ההרצאה: פירסום Package באתר של NPM - חלק 2

  1. 00:00

    יצירת חשבון NPM מהטרמינל

  2. 01:15

    אישור כתובת האימייל לפני הפרסום

  3. 01:56

    התחברות והתנתקות עם npm login ו-logout

  4. 02:40

    שגיאת אימות אימייל בזמן npm publish

  5. 04:40

    השלמת האימות ופרסום החבילה

תמלול ההרצאה: פירסום Package באתר של NPM - חלק 2

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

  1. 00:02

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

  2. 00:16

    מה הפעולות שאנחנו צריכים לבצע בכדי ליצור חשבון? אז מה שאנחנו צריכים לעשות זה NPM Add User. זה בעצם יוצר לנו חשבון חדש. שימו לב שאנחנו עושים את זה דרך הטרמינל.

  3. 00:31

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

  4. 00:45

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

  5. 01:03

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

  6. 01:32

    אנחנו חייבים לאשר את האימייל לפני שאנחנו יכולים לבצע פאבליש ל-NPM. אז אני שנייה אאשר את האימייל ונמשיך. אז אישרתי כרגע את האימייל, ומה שאנחנו יכולים לעשות זה npm הוא ami.

  7. 01:53

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

  8. 02:14

    ולוג אין מבקש מאיתנו שוב פעם גם את היוזר פרקטי קיו טסטר גם את הסיסמה וגם את האימייל ואנחנו שוב פעם לוגד אז פרקטי קיו טסטר כאשר אנחנו לוגד אנחנו יכולים לבצע npm publish ובואו נראה מה הוא אומר לנו הוא מתחיל להעלות את כל הדברים האלה לnpm ונותן לו פה איזושהי שגיאה ש you must verify your email before publishing

  9. 03:00

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

  10. 03:26

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

  11. 04:15

    יש פה עוד כל מיני הגדרות של פרופייל ופול ניים וכדומה אז נתעלם מהם כרגע, הנה update email, updated the email address, סבבה, הכל בסדר, ואנחנו רוצים לחזור בחזרה, ונסת שוב פעם את פקודת ה-publish, npm publish, עדיין שגיאה, you must verify your email before publishing a new package, בואו נמתין קצת ונראה אם זה עוזר.

  12. 04:47

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

  13. 05:04

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

  14. 05:17

    גו, יופי. זה פובלש. אז השם של הפאקג' נקרא circle-temp-example-1 עם הכפים, הגרסה היא 1.0.0.

  15. 05:32

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

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

ההרצאה הקודמת: פירסום Package באתר של NPM - חלק 1

ההרצאה הבאה: משתנה סביבה - Environment variable

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

  • הסבר על SCCM Package
  • התקנת Northwind אוטומטית דרך npm
  • סקריפט שמתקין npm - פרויקט NodeJS
  • Site Navigation - ניווט באתר

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

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