
package.json מלא וקובץ README.circle-temp-example-1. לדעתו עדיף לפתוח את השם במילה שמייצגת את החברה, כך שהשם מזוהה עם מקור אמין.1.0.0, כגרסה הראשונה.app.js.start שמריץ את node app.js.circle ו-circle-area שעוזרות לחיפוש החבילה.getArea שמחשבת את שטח העיגול, Math.PI * r * r, ופונקציה getCircumference שמחשבת את ההיקף, 2 * Math.PI * r. שתיהן נחשפות בעזרת module.exports.הטקסט המלא של הדקות הראשונות בהרצאה «פירסום Package באתר של NPM - חלק 1» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אם קורה מצב שאתם רוצים לבנות איזה משהו ולפרסם אותו ברבים, או יש לכם איזה רעיון לפאקאג' מאוד מעניין, ואתם רוצים לפרסם אותו לכולם, שכולם יוכלו להשתמש איתו, אתם יכולים להעלות את הפאקאג' הזה ל-NPM.
כאן בסרטון אנחנו הולכים לראות איך בדיוק אנחנו יכולים לעשות את זה. אז בואו נניח שאנחנו רוצים לקחת איזשהו פאקאג' שנותן לי אינפורמציה לגבי צורות גיאומטריות, בואו נניח אינפורמציה לגבי עיגולים, Circle.
ואנחנו רוצים לבנות איזה כמה פונקציות, בואו נבנה איזשהו פונקצ'ן, GetArea מקבלת רדיוס ומחזירה Math.py כפול רדיוס כפול רדיוס. ובואו ניקח פונקציה נוספת, ואנחנו רוצים את ההיקף, שזה ה-circumference וזה יהיה 2πi r, 2πi r בצורה כזאת וכמובן שאנחנו רוצים גם לחשוף אותם החוצה מתוך הכובד שלנו.
מודול נקודה אקספורטס ויש לנו get area, יש לנו get circumference, את ההיקף של העיגול וסיימנו לבנות איזה פאקאג' לא יודע כמה הוא באמת מעניין ומשהו שכדאי להעלות אותו ל-NPM אבל זה כמובן רק לצורך הדוגמה.
אוקיי, אז איך אנחנו עכשיו מעלים את הדבר הזה ל-NPM? אנחנו צריכים שיהיה לנו כמה דברים באפליקציה שאנחנו בונים בשביל להצליח לבצע את זה. דבר ראשון, הכי סימפל, קובץ package.json.
בתוך קובץ ה-package.json אנחנו צריכים להחליט מה שם ה-package שלנו. השם של ה-package זה השם של האפליקציה שאנחנו בעצם בונים, וזה בעצם יהיה השם שדרכו יורידו את ה-package שלנו. זאת אומרת שאם אנחנו בסרטונים הקודמים השתמשנו עם colors,
אז זה אומר שמי שבנה את זה רשם colors, ואם הוא היה רושם משהו אחר, אז היינו צריכים להשתמש עם השם שהוא בחר. לכן השם הזה הוא סופר חשוב. אז אם אתם תופסים איזשהו שם, זהו, ואתם תפסתם את השם הזה.
אני הייתי הולך על איזושהי טכניקה אחרת אם היו שואלים אותי כי כל אחד שעכשיו תופס את קולורס זהו אף אחד אחר לא יכל לתפוס את קולורס יותר ואולי מישהו בעתיד יבנה משהו שהוא עוד יותר שווה מהקולורס הראשוני שנכתב אבל זה רק לדעתי האישית אני הייתי לוקח קודם כל איזשהו איזושהי מילה נפרדת שהיא בעצם מייצגת את השם של החברה או את האתר האינטרנט או
משהו שמייצג את החברה ואז לאחר מכן הייתי שם פה איזשהו סימן, לא משנה מה, ואז בוא נגיד סימן כזה, השם האמיתי, וזה בעצם מאפשר גם לראות שאם יש לי איזה פאקאג' שמתחיל בגוגל, אז אני יודע שאוקיי, הפאקאג' הזה כבר זה פאקאג'
רציני, שלא נכתב סתם על ידי איזה מישהו שלא בדק אותו אלא על ידי גוגל, שכנראה הוציאו משהו טוב. אבל זה לא קיים היום, מה שהשם שאתם הגדרתם, השם שאתם בחרתם, זה השם שתפסתם וזהו, הוא לנצח שלכם.
אז בואו נחליט על איזשהו שם. בואו ניקח את השם circle temp example 1. עכשיו, אם מישהו כבר בחר את השם הזה, אז אתם לא תוכלו להעלות את זה, יגידו לכם שאתם, כלומר תקבלו שגיאה שהשם הזה כבר תפוס.
לכן בחרתי איזה שם שאני מקווה שהוא, אף אחד לא תפס אותו לפני זה. כמובן שאם מישהו תפס אז אנחנו נצטרך לשנות אולי את המספר הזה. הדבר הבא זה מספר הגרסה, הגרסה הראשונית, First Release, זה תמיד 1-0-0 בצורה כזאת.
Description, Give some info regarding Circles, a Main App, סליחה, המיין מודל שלנו זה App.js. סקריפטס, אנחנו לא צריכים את הטסט הזה כרגע, אבל מה שכן כדאי להגדיר זה סטארט, ויש לנו כאן את node-up.js, כמובן לא ממש חובה.
כל מיני keywords, אם אנחנו נרצה שיחפשו את הקובץ שלנו ב-NPM, מה בעצם הטאגים, הטאגס, שמתאימים לזה. אז בואו נניח circle, ובואו נניח circles, בואו נניח circle-area ובואו נניח circle-parents ועוד כמה תגים שאנחנו רוצים, מי בעצם יצר את זה, בואו נניח שחברת פרקטיק-איו
יצרה את זה, איזה רישיון אנחנו רוצים ביחד עם זה וכמובן כל הדיפנדנסיז שיש לנו, כרגע אין לנו dependencies, זה נשאר לי מאיזשהו סרטון קודם, אז אני אעיף כרגע את הדיפנדנסיז, אם יש, אז כמובן חייב להיות.
סידרנו את קובץ ה-package.json כמו שצריך,