PracticU

יצירת קובץ Package.json

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

יצירת קובץ Package.json
בכל פרויקט Node.js צריך קובץ בשם package.json שמתאר את הפרויקט ואת ההגדרות שלו. בלי הקובץ הזה הפרויקט לא נחשב פרויקט של Node.js. הקובץ חשוב גם לשחזור הפרויקט וגם להעלאה ל-NPM, והחבילות שמותקנות נרשמות בו.
יצירת הקובץ
1. הפקודה npm init: מפעילים אותה בתיקיית הפרויקט, והיא שואלת סדרה של שאלות ובונה את הקובץ.
2. שם הפרויקט: אסור רווחים ואותיות גדולות, ולכן השם Hello World נפסל. השם צריך להיות URL friendly, למשל hello-world.
3. גרסה ותיאור: ברירת המחדל לגרסה היא 1.0.0, ואפשר להוסיף תיאור קצר.
4. נקודת כניסה: הקובץ הראשי שרץ ראשון. אם יש רק קובץ JavaScript אחד, המערכת מציעה אותו כברירת מחדל, למשל app.js. אם אין קבצים, ברירת המחדל היא index.js.
5. שאלות נוספות: פקודת בדיקות, מאגר Git, מילות מפתח, מחבר וסוג רישיון (ISC או MIT). אפשר להשאיר אותן ריקות או עם ברירת המחדל.
הדרך המהירה
npm init -y יוצר את הקובץ עם כל ברירות המחדל בלי לשאול שאלות. הקובץ כתוב ב-JSON, ולכן כדאי להכיר את הפורמט.
הרצה דרך scripts
בתוך השדה scripts מגדירים start עם הפקודה node app.js. אחר כך מריצים npm start במקום node app. שתי הדרכים מריצות את אותה תוכנית.
הקובץ מתאר את הפרויקט, ולכן אפשר לשחזר ממנו את החבילות בכל מחשב.

פרקי ההרצאה: יצירת קובץ Package.json

  1. 00:00

    תפקיד קובץ package.json בפרויקט

  2. 00:57

    הפקודה npm init ושאלות ההגדרה

  3. 02:27

    בחירת קובץ הכניסה Entry Point

  4. 03:22

    מחבר ורישיון של הפרויקט

  5. 03:57

    שחזור הפרויקט והתקנות הנשמרות בקובץ

תמלול ההרצאה: יצירת קובץ Package.json

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

  1. 00:02

    בכל פרויקט Node.js חשוב מאוד שיהיה קובץ שמתאר בעצם קונפיגורציה בנוגע לפרויקט עצמו. הקובץ הזה נקרא package.json ולמרות שראיתם מקודם שהצלחנו להריץ לזה שהוא פרויקט Node.js של לואו וורלד בלי שיהיה לנו שום קובץ כזה, אז בעצם אין פרויקט של Node.js בלי הקובץ הזה.

  2. 00:27

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

  3. 00:40

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

  4. 00:57

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

  5. 01:16

    ומה שאנחנו לא יכולים לעשות זה אנחנו לא יכולים להגדיר פרויקט בשם שהוא מגיע עם אותיות גדולות או עם רווחים. זאת אומרת שאם אני אנסה להגדיר Hello World בצורה כזאת אנחנו נקבל שגיאה sorry name can only contain URL friendly charters and name can no longer contain capital letters אוקיי אז אנחנו רוצים בעצם

  6. 01:48

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

  7. 02:17

    This is a simple example for Node.js. Enter. Entry Point. מהו הקובץ הראשון והראשי שרץ? App.js זה הקובץ היחידי שקיים לנו, ולכן המערכת מזהה שזה בעצם הקובץ ושואלת אותנו אם אנחנו רוצים את הקובץ הזה.

  8. 02:43

    אנחנו כמובן רוצים את הקובץ. אם לא היה לנו כאן שום קובץ JavaScript אז המערכת הייתה מציעה לנו index.js והיינו כמובן יכולים לכתוב קובץ אחר.

  9. 02:55

    אני אלחץ כרגע enter בכדי להשאיר אותו כ-app.js. האם יש לנו איזה שהם test commands? אין לנו כרגע. enter.

  10. 03:04

    האם יש לנו גיט repository שאנחנו רוצים להעלות את הפרויקט? כרגע לא. enter.

  11. 03:10

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

  12. 03:31

    איזה סוג רישיון? אנחנו יכולים להשאיר את הרישיון של ISC או MIT או כל סוג אחר של רישיון שאנחנו רוצים לפרסם את הפרויקט. איתו והוא מראה לנו מה בעצם הולך להיות כתוב בקובץ הזה.

  13. 03:46

    אנחנו רואים שהפורמט כמובן זה פורמט JSON שזה pre-requisites כדאי לכם מאוד לדעת JSON כי אנחנו משתמשים עם זה בלי הפסקה בקורס.

  14. 03:56

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

  15. 04:17

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

  16. 04:33

    בואו רגע ניפטר מהקובץ. נבוא לכאן, נרשום שוב פעם npm init ומינוס מינוס yes או מינוס y, enter, ואנחנו רואים שיש לו בעיה אחת ויחידה כמו שראינו וזה עם ה-hello world שהוא מנסה לפי התיקייה לעשות את זה.

  17. 05:02

    אז בואו רגע נעשה איזה close folder, נחזור בחזרה לפרויקט עצמו, נשנה את זה ל- Hello World רק בכדי לראות שהפקודה הזאת אכן עובדת,

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

ההרצאה הקודמת: אפליקציה ראשונה ב-Node.js

ההרצאה הבאה: שפת JavaScript - משתנים

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

  • JSON
  • מה זה JSON
  • יצירת קובץ סקריפט SQL
  • יצירת קובץ תשובות עם SIM

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

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