PracticU

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

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

פירסום Package באתר של NPM - חלק 1
כדי לפרסם חבילה ב-NPM שאחרים ישתמשו בה, צריך להכין שלושה דברים: שם ייחודי, package.json מלא וקובץ README.
הכנת החבילה
1. שם: השם חייב להיות ייחודי ב-NPM. מי שפרסם שם תפוס לא יכול להשתמש בו. המרצה מדגים את השם circle-temp-example-1. לדעתו עדיף לפתוח את השם במילה שמייצגת את החברה, כך שהשם מזוהה עם מקור אמין.
2. גרסה: מתחילים מ-1.0.0, כגרסה הראשונה.
3. תיאור: תיאור קצר על עיגולים.
4. נקודת כניסה: הקובץ הראשי, app.js.
5. סקריפטים: סקריפט start שמריץ את node app.js.
6. תגים (keywords): מילים כמו circle ו-circle-area שעוזרות לחיפוש החבילה.
7. מחבר ורישיון: שם החברה או המחבר, ורישיון כמו ISC או MIT.
8. תלויות: בדוגמה אין תלויות, כי החבילה לא משתמשת בחבילות אחרות.
קוד החבילה
בקובץ הראשי מוגדרת פונקציה getArea שמחשבת את שטח העיגול, Math.PI * r * r, ופונקציה getCircumference שמחשבת את ההיקף, 2 * Math.PI * r. שתיהן נחשפות בעזרת module.exports.
README.md
קובץ README בפורמט Markdown מוצג בדף החבילה באתר NPM. בדוגמה הוא מכיל כותרת ומשפט אחד שמתאר את החבילה.
עם שלושת הקבצים האלה החבילה מוכנה לפרסום.
השיעור הבא בקורס: פירסום Package באתר של NPM - חלק 2

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

  1. 00:00

    מטרת פרסום חבילה ב-NPM

  2. 01:43

    הכנת קובץ package.json לפני הפרסום

  3. 02:59

    הגדרת גרסה תיאור תגים ורישיון

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

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

  1. 00:02

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

  2. 00:20

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

  3. 00:38

    ואנחנו רוצים לבנות איזה כמה פונקציות, בואו נבנה איזשהו פונקצ'ן, GetArea מקבלת רדיוס ומחזירה Math.py כפול רדיוס כפול רדיוס. ובואו ניקח פונקציה נוספת, ואנחנו רוצים את ההיקף, שזה ה-circumference וזה יהיה 2πi r, 2πi r בצורה כזאת וכמובן שאנחנו רוצים גם לחשוף אותם החוצה מתוך הכובד שלנו.

  4. 01:25

    מודול נקודה אקספורטס ויש לנו get area, יש לנו get circumference, את ההיקף של העיגול וסיימנו לבנות איזה פאקאג' לא יודע כמה הוא באמת מעניין ומשהו שכדאי להעלות אותו ל-NPM אבל זה כמובן רק לצורך הדוגמה.

  5. 01:49

    אוקיי, אז איך אנחנו עכשיו מעלים את הדבר הזה ל-NPM? אנחנו צריכים שיהיה לנו כמה דברים באפליקציה שאנחנו בונים בשביל להצליח לבצע את זה. דבר ראשון, הכי סימפל, קובץ package.json.

  6. 02:05

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

  7. 02:29

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

  8. 02:42

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

  9. 03:12

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

  10. 03:34

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

  11. 03:50

    אז בואו נחליט על איזשהו שם. בואו ניקח את השם circle temp example 1. עכשיו, אם מישהו כבר בחר את השם הזה, אז אתם לא תוכלו להעלות את זה, יגידו לכם שאתם, כלומר תקבלו שגיאה שהשם הזה כבר תפוס.

  12. 04:12

    לכן בחרתי איזה שם שאני מקווה שהוא, אף אחד לא תפס אותו לפני זה. כמובן שאם מישהו תפס אז אנחנו נצטרך לשנות אולי את המספר הזה. הדבר הבא זה מספר הגרסה, הגרסה הראשונית, First Release, זה תמיד 1-0-0 בצורה כזאת.

  13. 04:28

    Description, Give some info regarding Circles, a Main App, סליחה, המיין מודל שלנו זה App.js. סקריפטס, אנחנו לא צריכים את הטסט הזה כרגע, אבל מה שכן כדאי להגדיר זה סטארט, ויש לנו כאן את node-up.js, כמובן לא ממש חובה.

  14. 04:58

    כל מיני keywords, אם אנחנו נרצה שיחפשו את הקובץ שלנו ב-NPM, מה בעצם הטאגים, הטאגס, שמתאימים לזה. אז בואו נניח circle, ובואו נניח circles, בואו נניח circle-area ובואו נניח circle-parents ועוד כמה תגים שאנחנו רוצים, מי בעצם יצר את זה, בואו נניח שחברת פרקטיק-איו

  15. 05:34

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

  16. 05:52

    סידרנו את קובץ ה-package.json כמו שצריך,

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

ההרצאה הקודמת: הסבר על מספור גרסאות

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

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

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

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

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