
modules נכתבות ארבע פונקציות: add, subtract, multiply ו-division. בסוף הקובץ כולן נחשפות בבת אחת באובייקט:module.exports = { add, subtract, multiply, division };module.exports.add = add, אבל הוא מעדיף את האובייקט. בתחביר ES6, אם שם המאפיין והמשתנה זהים, כותבים רק את השם.for...of, ומחזירה את הסכום חלקי אורך המערך. לחשיפה של פונקציה בודדת משתמשים ב-module.exports = getAverage.const calc = require('./modules/calc'), ואז קוראים ל-calc.add(10, 20) וכדומה.const getAverage = require('./modules/get-average'), ואז קוראים לפונקציה ישירות עם מערך, למשל [10, 22, 30, 40].הטקסט המלא של הדקות הראשונות בהרצאה «יצירת שני מודולים ב-NodeJS» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
בואו ניישם את מה שלמדנו ונבנה שני מודולים הגיוניים, אחד שחושף סדרה של פונקציות ואחד שחושף פונקציה אחת בשתי השיטות שלמדנו.
אז בואו נצרף קובץ, נקרא לו Calc.js והקובץ הזה מכיל אפילו האמת, בואו נצרף פה תיקייה ונקרא לה Modules וניקח את Calc ונשים אותו בתוך Modules.
ואז בתוך קאלק נבנה סדרה של פונקציות function add מקבלת a וb ומחזירה את a ועוד b. יש לנו כאן את subtract ומחזירה a מינוס b, multiplication a כפול b וdivision a לחלק ל-b.
ואנחנו רוצים עכשיו לחשוף את כל הפונקציות האלה. השיטה האחת הייתה לגשת כמו שראינו למודולס סליחה נקודה אקספורטס נקודה לתת לו איזשהי שם לפונקציה שווה בצורה כזאת או בצורה כזאת וככה לעשות את זה אחד אחד במקרה הזה אנחנו יכולים לוותר על מודול נקודה אני אישית לא כמעט אף פעם לא מוותר עליו אבל בואו נראה טכניקה קצת אחרת לבצע את זה וזה פשוט ללכת פה בסוף מודול נקודה אקספורטס
שווה ולבנות אובייקט אחד ויחיד שמכיל בתוכו את כל הפונקציות. אז האובייקט הזה מכיל add ואנחנו רוצים לתת לו את הפונקציה add.seek.subtract ואנחנו רוצים לתת לו את הפונקציה subtract.
אנחנו כמובן יכולים לשנות את השם הזה לדוגמה addition וכדומה ואז אנחנו חושפים החוצה את השם addition. אבל ECMAScript 6 גרסה 6 של JavaScript אומרת דבר כזה אם פה יש משתנה שהוא אותו הדבר כמו המשתנה הזה אנחנו פשוט יכולים לכתוב את זה בכתיב מקוצר וזה אומר add.ad זאת אומרת המשתנה add שווה לvalue
add שהוא פונקציה אז בואו נכתוב את זה כבר בכתיב המקוצר ויש לנו subtract ויש לנו multiply ויש לנו division. והנה בנינו מודול שחושף ארבע פונקציות נשים אותו פה בצד ובואו נבנה מודול נוסף.
למודול נוסף אני רוצה פונקציה אחת ויחידה בואו ניקח מודול שמכיל פונקציה אחת שנקראת get average. אז נקרא, סליחה, נקרא לזה בצורה כזאת כמובן, get average נקודה js והנה הוא כאן, בואו נשים אותו פה האמת, ונבנה פונקציה אחת ויחידה, get average,
שמקבלת מערך, בואו האמת, נקרא לה, לא, נשאיר get average בצורה כזאת, ואז הפונקציה הזאת מחשבת את הממוצע של המערך.
אז נרוץ בלולת for each, for let for each למעשה זה const item of arr, זה התחביר ב-JavaScript ללולת for each, item זה כל אחד מהפריטים במערך, sum פלוס שווה item, ואנחנו רוצים להחזיר את sum לחלק ל-length של המערך.
יש לנו פה פונקציה אחת ויחידה, בכדי לחשוף אותה אנחנו לא יכולים לרשום אקספורטס שווה לפונקציה אנחנו חייבים מודול נקודה אקספורטס שווה לפונקציה זאת הטכניקה השנייה לחשיפה של פריט בודד מפונקציה בואו נשים את שניהם פה אנחנו נמצאים באפ ואנחנו רוצים להשתמש בשניהם אז בואו נבנה קונסט קאלק שווה
ריקווייר ויש לנו נקודה זה אומר התיקייה הנוכחית סלאש כאן המערכת מזהה שיש לנו תיקייה שנקראת מודולס ובתוכה יש לנו את שני המודולים האלה בואו ניקח קודם כל את קאלק ואז אנחנו רוצים גם את המודול השני קונסט גט אברג' שווה ריק ווייר שוב פעם נקודה סלאש יש לנו כאן את מודולס גט אברג' זה השם של המודול ובואו נבדוק איך אנחנו יכולים לעבוד איתם.
קונסול לוג, נתחיל עם קאלק. בואו ניקח ונצרף ביחד את 10 ו-20.