
package.json חובה, ועם קבצי JavaScript שבהם כותבים מודולים וחושפים את מה שצריך. בלי package.json התיקייה לא נחשבת Package.name: שם החבילה. זה השם שבו ישתמשו מי שיוריד אותה מ-NPM.version: גרסה בפורמט של שלושה מספרים. המשמעות של כל מספר תוסבר בהמשך.description: תיאור קצר.scripts: פקודות שאפשר להגדיר, למשל start.keywords: תגים שעוזרים לחפש את החבילה ב-NPM.author ו-license: המחבר וסוג הרישיון."private": true, NPM לא יאשר לפרסם את החבילה. זו הגנה מפני פרסום בטעות. כשרוצים לפרסם, מסירים את השדה.הטקסט המלא של הדקות הראשונות בהרצאה «הסבר על Package ב-NodeJS» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אז אחרי שראינו כמה דברים לגבי מה זה מודול ובנינו מודולים והשתמשנו במודולים, בואו נבין כמה דברים לגבי מה זה Package. אז Package זה פשוט מאוד בעצם אפליקציה שלמה שאנחנו בונים ב-Node.js שאנחנו יכולים לאחר מכן להעלות אותה אם אנחנו רוצים ל-NPM לדוגמה.
Package זה פשוט מאוד מערכת שיש בה מספר מודולים. יש בה קובץ package.json חובה, אחרת זה לא נחשב package, ויש בה מספר קבצי JavaScript שאנחנו יכולים לכתוב בהם מה שבא לנו, כלומר מספר מודולים, ולחשוף החוצה מה שאנחנו רוצים.
עכשיו כמה דברים לגבי ה-package.json בהקשר הזה. קודם כל, השם שכתוב כאן זה שם ה-package עצמו. אם אנחנו מפרסמים את ה-package הזה ב-npm, אז זה יהיה השם שלו ואחר כך יצטרכו להוריד אותו על ידי השם הזה.
כמו כן לפאקג' יש גרסה, כאן אנחנו רואים את הגרסה ובהמשך אנחנו נדבר על המשמעות של שלושת הספרות האלה או המספרים האלה בגרסה, לכל אחד מהם יש משמעות אחרת.
יש לו תיאור כמו שראינו, נקודת כניסה, כל מיני סקריפטים שאנחנו יכולים להוסיף, תגים, Keyword זה תגים, בכדי שנוכל לחפש אותה, מי המחבר וסוג הרישיון.
דבר נוסף שאנחנו יכולים להוסיף לקובץ זה את הפקודה private true. אם אנחנו מוסיפים את הפקודה private true, זה אומר שאנחנו לא מאשרים לפרסם את ה-package הזה ב-NPM.
זאת אומרת, גם אם אנחנו נרצה לפרסם אותו ונכתוב את הפקודה לפרסום הפאקג' ב-NPM, NPM לא תאשר לפרסם אותו, היא תגיד לנו זה private true, זאת אומרת אנחנו לא מפרסמים אותו.
מה המטרה? המטרה זה בכדי שבטעות לא נכתוב כאן את הפקודה שמפרסמת לנו את הפאקג' הזה וזה יגיע למערכת של NPM, וזה כמובן רק לצורך הגנה. אם אנחנו רוצים לפרסם אותו, כמובן מורידים את זה ואז ניתן יהיה לפרסם אותו.