Avatar ·

لماذا نحتاج module.exports في Node.js وكيفية استخدامه بشكل صحيح؟

مرحباً بالجميع! لقد بدأت للتو في تعلم Node.js ولا أستطيع فهم ما هو module.exports ولماذا نحتاجه. يبدو أنني قرأت الوثائق، لكني ما زلت مرتبكاً.\n\nلنفترض أن لدي ملف `math.js`، حيث أكتب دوال بسيطة للجمع والضرب:\n\n```javascript\nfunction add(a, b) {\n return a + b;\n}\n\nfunction multiply(a, b) {\n return a * b;\n}\n```\n\nوفي ملف آخر `app.js` أريد استخدام هذه الدوال:\n\n```javascript\nconsole.log(add(2, 3)); // خطأ: add is not defined\n```\n\nلكني أحصل على خطأ. أفهم أنني بحاجة إلى "تصدير" الدوال، لكني لا أفهم الفرق بين `module.exports` و `exports`، ولماذا لا يمكنني ببساطة استخدام المتغيرات العامة.\n\nكما رأيت أن البعض يكتب `module.exports = { ... }`، بينما يكتب آخرون `exports.function`