
package.json שמתאר את הפרויקט ואת ההגדרות שלו. בלי הקובץ הזה הפרויקט לא נחשב פרויקט של Node.js. הקובץ חשוב גם לשחזור הפרויקט וגם להעלאה ל-NPM, והחבילות שמותקנות נרשמות בו.npm init: מפעילים אותה בתיקיית הפרויקט, והיא שואלת סדרה של שאלות ובונה את הקובץ.Hello World נפסל. השם צריך להיות URL friendly, למשל hello-world.1.0.0, ואפשר להוסיף תיאור קצר.app.js. אם אין קבצים, ברירת המחדל היא index.js.npm init -y יוצר את הקובץ עם כל ברירות המחדל בלי לשאול שאלות. הקובץ כתוב ב-JSON, ולכן כדאי להכיר את הפורמט.scripts מגדירים start עם הפקודה node app.js. אחר כך מריצים npm start במקום node app. שתי הדרכים מריצות את אותה תוכנית.הטקסט המלא של הדקות הראשונות בהרצאה «יצירת קובץ Package.json» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
בכל פרויקט Node.js חשוב מאוד שיהיה קובץ שמתאר בעצם קונפיגורציה בנוגע לפרויקט עצמו. הקובץ הזה נקרא package.json ולמרות שראיתם מקודם שהצלחנו להריץ לזה שהוא פרויקט Node.js של לואו וורלד בלי שיהיה לנו שום קובץ כזה, אז בעצם אין פרויקט של Node.js בלי הקובץ הזה.
יש לו המון המון יתרונות, הוא מגדיר המון הגדרות בנוגע לפרויקט ואנחנו גם משתמשים איתו בלי הפסקה בהמשך בכדי לשחזר את הפרויקט, בכדי להעלות אותו ל-NPM וכדומה.
אז איך אנחנו יוצרים את הקובץ הזה שנקרא package.json, שכמובן יש לו איזשהו פורמט מאוד בסיסי? אז אנחנו יכולים לצרף אותו כאן כ-new file ולכתוב אותו בעצמנו, אבל יש פקודת NPM שעושה את זה בשבילנו.
כל מה שאנחנו צריכים לרשום זה npm init, enter, ואז הפקודה הזאת מתחילה לשאול אותנו סדרה של שאלות בכדי לכתוב לנו את הקובץ הזה. אז דבר ראשון, איך נקרא ה-package או הפרויקט שלנו כרגע?
ומה שאנחנו לא יכולים לעשות זה אנחנו לא יכולים להגדיר פרויקט בשם שהוא מגיע עם אותיות גדולות או עם רווחים. זאת אומרת שאם אני אנסה להגדיר Hello World בצורה כזאת אנחנו נקבל שגיאה sorry name can only contain URL friendly charters and name can no longer contain capital letters אוקיי אז אנחנו רוצים בעצם
אני קול והלו מכף וורלד ואנחנו רואים כאן שיש לנו בעצם בסוגריים את הדיפולט name זאת אומרת שאם אנחנו לוחצים כרגע enter אז המערכת לוקחת את הדיפולט שהוגדר כאן מספר גרסה הדיפולט 1 0 0 אם אני לוחץ enter זה בעצם יהיה הדיפולט דסקריפשן, אם אני רוצה לתת איזשהו תיאור.
This is a simple example for Node.js. Enter. Entry Point. מהו הקובץ הראשון והראשי שרץ? App.js זה הקובץ היחידי שקיים לנו, ולכן המערכת מזהה שזה בעצם הקובץ ושואלת אותנו אם אנחנו רוצים את הקובץ הזה.
אנחנו כמובן רוצים את הקובץ. אם לא היה לנו כאן שום קובץ JavaScript אז המערכת הייתה מציעה לנו index.js והיינו כמובן יכולים לכתוב קובץ אחר.
אני אלחץ כרגע enter בכדי להשאיר אותו כ-app.js. האם יש לנו איזה שהם test commands? אין לנו כרגע. enter.
האם יש לנו גיט repository שאנחנו רוצים להעלות את הפרויקט? כרגע לא. enter.
איזה שהם keywords שמשויכים לפרויקט הזה שאם נעלה אותו בהמשך ל-NPM אז זה יעזור לחפש אותו. אין לנו כרגע, בואו נלחץ Enter. מי בעצם המחבר של אותו פרויקט? אני כרגע אשאיר את זה Enter, כלומר דיפולט.
איזה סוג רישיון? אנחנו יכולים להשאיר את הרישיון של ISC או MIT או כל סוג אחר של רישיון שאנחנו רוצים לפרסם את הפרויקט. איתו והוא מראה לנו מה בעצם הולך להיות כתוב בקובץ הזה.
אנחנו רואים שהפורמט כמובן זה פורמט JSON שזה pre-requisites כדאי לכם מאוד לדעת JSON כי אנחנו משתמשים עם זה בלי הפסקה בקורס.
אז בואו נאשר עוד enter אחד והנה אנחנו רואים שהקובץ הזה נבנה לנו ואנחנו יכולים כמובן להיכנס ולשנות אותו. בהמשך אנחנו הולכים להתקין כל מיני התקנות פנימיות בתוך הפרויקט שלנו מתוך npm וכל התקנה כזאת אוטומטית תישמר בקובץ הזה.
זה יאפשר לאחר מכן לשחזר את כל הפרויקט אם לדוגמה אנחנו רוצים להעביר אותו ממקום למקום וכדומה. אז יש לנו כאן בנייה של הקובץ הזה. יש אפשרות נוספת לבצע את כל ההגדרות הדיפולטיות.
בואו רגע ניפטר מהקובץ. נבוא לכאן, נרשום שוב פעם npm init ומינוס מינוס yes או מינוס y, enter, ואנחנו רואים שיש לו בעיה אחת ויחידה כמו שראינו וזה עם ה-hello world שהוא מנסה לפי התיקייה לעשות את זה.
אז בואו רגע נעשה איזה close folder, נחזור בחזרה לפרויקט עצמו, נשנה את זה ל- Hello World רק בכדי לראות שהפקודה הזאת אכן עובדת,