همانطور که قبلن گفتیم ، هر فایل در Node.js یک ماژول می باشد . آیتم هایی که قصد صادر کردن آن ها را از یک ماژول داریم باید به متغیر module.exports نسبت داده شوند . این مهم است که بدانید module.exports در واقع به یک ماژول خالی در هر فایل تعریف می گردد .
بخش 9 – آموزش Node.JS ، Exports
برای درک بیشتر require ، نگاهی عمیق تر به module.exports می اندازیم .
Module.exports
همانطور که قبلن گفتیم ، هر فایل در Node.js یک ماژول می باشد . آیتم هایی که قصد صادر کردن آن ها را از یک ماژول داریم باید به متغیر module.exports نسبت داده شوند . این مهم است که بدانید module.exports در واقع به یک ماژول خالی در هر فایل تعریف می گردد .
Export Alias
تا کنون ما تنها یک شیء منفرد را از یک ماژول export نمودیم . اما گاهی نیاز داریم که گاهی بیشتر از یک متغیر از ماژول را export نماییم . یکی از راه ها این است که یک شیء جدید ساخته و آن را به module.export اختصاص دهیم .
بهرحال ، مدیریت این کار کمی سنگین بنظر می رسد ، چرا که بازگشتی های ماژول می تواند بطور بالقوه از آنچه که ماژول در بر دارد فاصله داشته باشد . در کدهای بالا تابع a بسیار زودتر از زمانی که ما میخواهیم آن را export کنیم تعریف شده است . بنابراین طبق یک قرارداد معمول می توانیم با استفاده از Module.exports همانطور که در زیر خواهید دید ، کار export را به نحوی دیگر انجام دهیم .
شاید تایپ module.export کار سختی باشد ، بنابراین Node.js به ما کمک می کند تا با اختصار به جای نوشتن modul.exports از exports خالی استفاده نماییم . مانند مثال زیر :
این مهم است که بدانید exports نیز مانند سایر متغیرهای جاوا اسکریپت می باشد . Node.js برای ما module.exports را به exports ساده کرده است . اگر شما چیزی را به آن اضافه کنید ( بطور مثال exports.foo=123; ) آن گاه این دستور معادل modul.exports.foo=123; می باشد . اگر شما دستوری معادل exports=123; بنویسید شما اشاره به module.exoprts راشکسته اید . و این دستور به module.exports اشاره نخواهد کرد . بنابراین بسیار مهم است که بدانید شما باید از از اسم مستعار exports برای اشاره به چیزی استفاده نمایید و نباید از آن مستقیمن استفاده کنید . اگر میخواهید از خود exports استفاده کنید باید آن را بصورت module.exports بنویسید .
شاد و سلامت باشید
محمد جعفری فوتمی