هر ماژول در Node.js دارای محتوای ایزوله شده خود می باشد در نتیجه نمی تواند بر روی دیگر ماژول ها تاثیر بگذارد و یا محیط گلوبال را آلوده کند.
همچنین هر ماژول در Node.js می توانند درون یک فایل جاوا اسکریپت در پوشه دیگر نسبت به فایل اصلی قرار بگیرد.
Node.js از استاندارد ماژول نویسی CommonJs استفاده می کند که می توانید در مورد آن در سایت ویکی پدیا بیشتر مطالعه کنید.
CommonJS گروهی از داوطلبین هستند که استانداردهای جاوا اسکریپت را برای وب سرور، دسکتاپ یا اپلیکیشن های کنسول تعیین می کنند.
انواع ماژول در Node.js
در Node.js سه نوع ماژول وجود دارد:
- ماژول های هسته (Core)
- ماژول های لوکال یا محلی (Local)
- ماژول های شخص ثالث (Third Party)
ماژول های هسته در Node.js
Node.js یک فریمورک بسیار سبک است. ماژول های هسته در Node.js کمترین میزان عملیات را ارائه میدهند.
این ماژول ها به صورت اتوماتیک به Node.js در هنگامی که فعالیت خود را آغاز می کند اضافه می شوند. هر چند که شما باید در هنگام استفاده از این ماژول ها باید آن ها را ابتدا import کنید.
جدول زیر ماژول های هسته را در Node.js نشان میدهد:
ماژول هسته | توضیحاتت |
---|---|
http | ماژول http حاوی کلاس ها و متود هایی است که به کمک آن ها می توان یک وب سرور ایجاد کرد. |
url | ماژول url فعالیت های مرتبط با url یا همان آدرس صفحات را مدیریت می کند. |
querystring | ماژول querystring کمک می کند تا از کوئری های ارسالی از روش های مختلف در اپلیکیشن استفاده کنید. |
path | ماژول path فعالیت های مرتبط با path یا همان آدرس فایل ها را مدیریت می کند. |
fs | ماژول fs برای مدیریت فایل ها مورد استفاده قرار می گیرد. |
util | ماژول util حاوی کلاس ها و متود های کارامد برای برنامه نویسی است. |
استفاده از یک ماژول core در Node.js
برای استفاده از ماژول های هسته Node.js یا NPM در اسکریپت، باید با فانکشن require()
آن ماژول را فراخوانی کنید. مانند مثال زیر:
var module = require('module_name');
همینطور که در سینتکس بالا می بینید در بین پرانتز باید به نام ماژول را درون علامت نقل قول ذکر کنید.
فانکشن require()
می تواند به دلخواه برنامه نویس ماژول، یک Object، فانکشن، صفت یا هر نوع داده دیگر جاوا اسکریپت را باز گرداند.
مثال زیر نشان میدهد که شما چگونه میتوانید از ماژول هسته http برای ساخت یک وب سرور استفاده کنید:
var http = require('http');
var server = http.createServer(function(req, res){
//write code here
});
server.listen(5000);
در مثال بالا فانکشن require()
یک Object از ماژول http باز می گرداند زیرا ماژول http یک آبجت برای دسترسی به فانکشن های مختلف این ماژول را می دهد ارائه می دهد. به عنوان مثال: http.createServer()
اینگونه شما می توانید ماژول های هسته ای Node.js را در اپلیکیشن خود استفاده کنید. ما در ادامه آموزش بارها پیش خواهد آمد که از ماژول های هسته یا ماژول های ساخته شده توسط افراد ثالث استفاده کنیم.