Menu
CoddyTech

מודולי CommonJS

חלק מהיחידה יסודות Node.js במסלול ה-Node.js של Coddy. שיעור 9 מתוך 24.

חלק גדול מקוד Node שתקרא בחבילות npm ובמדריכים ישנים משתמש במערכת מודולים אחרת.

CommonJS משתמשת בייצוא באמצעות module.exports ובייבוא באמצעות require. Node עדיין מריצה אותו בקבצים שמסתיימים ב־.cjs, ו־import של קובץ כזה נותן לך את האובייקט module.exports שלו כברירת מחדל:

// greet.cjs
function hello(name) {
    return 'Hello, ' + name;
}
module.exports = { hello };

// app.js
import greet from './greet.cjs';
console.log(greet.hello('Ada'));

exports מתחיל בתור אותו אובייקט כמו module.exports. exports.hello = hello מוסיף אליו; exports = { hello } מחליף את המשתנה, והקובץ המייבא מקבל אובייקט ריק.

challenge icon

אתגר

קל
  • השלימו את countWords(notes) בתוך legacy/stats.cjs: כמה מילים יש בסך הכול בהערות.
  • ייבאו אותו אל notes.js באמצעות import stats from './legacy/stats.cjs'.
  • פקודת stats מדפיסה 3 notes, 7 words.

הריצו את node notes.js stats. אחר כך הוסיפו הערה באמצעות add והריצו שוב את stats: עדיין 3, כי שום דבר עדיין לא נשמר.

נסו בעצמכם

// מודול ישן יותר, שנכתב בסגנון CommonJS.
function countWords(notes) {
    // החזר את מספר המילים הכולל בכל ההערות יחד.
    return 0;
}

module.exports = { countWords };

כל השיעורים ביחידה יסודות Node.js