NodeJS Module چیست؟

یکشنبه 30 خرداد 1395

در این مقاله قصد داریم شما را با NodeJS Module آشنا کنیم. جزئیات مربوط به پیاده سازی این تکنولوژی نیز توضیح داده شده است.

NodeJS Module چیست؟

معرفی NodJs

در ادامه ی مقاله معرفی  NodJS ، این مقاله بر روی node js moduleها تمرکز خواهد کرد.

در صورتی که به یادگیری اصولی و حرفه ای این تکنولوژی قدرتمند علاقمند هستید میتوانید دوره کامل و جامع آموزش Node Js موجود در سایت تاپ لرن را مشاهده کنید .

یک module ، کدهای مربوط به یک unit of code را کپسوله می کند. هنگام ایجاد یک module، تمام توابع مربوطه داخل یک فایل قرار میگیرند. Node moduleها تنها در محدوده (scope) خود اجرا میشوند در نتیجه با سایر Moduleها تداخل نخواهند داشت. Node امکان دسترسی به برخی از قابلیت های عمومی در برنامه را فراهم میکند تا امکان همکاری module آسان تر شود. دو آیتم اولیه که ما باید روی آن کار کنیم require و export است.

شما به moduleهای دیگری نیاز دارید که در کد خود، از آنها استفاده کنید و Module شما مواردی که نیاز است به صورت عمومی در برنامه وجود داشته باشد را به خارج از خود نمی فرستد( نه داده ای را میگیرد و نه داده ای را به بیرون می فرستد.) بیایید با یک مثال پیش برویم، کد زیر را بعنوان test.js ذخیره کنید.

1.	exports.name = function() {  
2.	console.log('My name is Iman Madaeni');  
3.	};  

 فراخوانی از یک فایل دیگر:

1.	var test= require('./test.js');  
2.	test.name(); // 'My name is Iman Madaeni

د ر این مثال ما از کلیدهای خارجی برای تعریف یک module که توسط یک فایل js دیگر به فایلtest وارد شده، استفاده میکنیم.

تفاوت میان module.exports و exports

شما میتوانید هم از  exports و هم از module.exports برای وارد کردن کد در برنامه خود استفاده کنید مانند:

1.	var mycode = require('./path/to/mycode');  

در موارد معمولی  شما  (به عنوان مثال در کد  ExpressJ) propertyها را در شی که فرستاده میشود تنظیم میکنید که این شی در یک فایل با پسوند .js  قرار دارد و درنهایت آن را با استفاده از متد require() به قسمتی که میخواهیم اضافه میکنیم.

بنابراین در مثال شمارنده ساده، شما باید کدهای زیر را داشته باشید:

1.	(counter.js)  
2.	  
3.	var count = 1;  
4.	  
5.	exports.increment = function() {  
6.	count++;  
7.	};  
8.	  
9.	exports.getCount = function() {  
10.	return count;  
11.	};  
12.	.. then in your application (any other .js file):  
13.	  
14.	var counting = require('./counter.js');  
15.	console.log(counting.getCount()); // 1  
16.	counting.increment();  
17.	console.log(counting.getCount()); // 2  

در شرایط ساده، شما میتوانید با فایلهای مورد نیاز خود مانند یک تابع رفتار کنید که تنها یک شی را به عنوان خروجی باز میگرداند و می توانید زمانیکه این شی را بعنوان شی فرستنده(export) تنظیم کردید propertyها (strings, numbers, arrays, functions و هر چیز دیگر...) را به این شی اضافه کنید.

در برخی مواقع نیاز داریم خروجی متد  require() به جای یک شی ، یک تابع باشد. به این ترتیب می توانیم در موارد بعدی آن را فراخوانی کنیم. در این مورد نیاز داریم که از module.exports هم استفاده کنیم، مانند:

(hello.js):

1.	module.exports = exports = function() {  
2.	console.log("Hello World!");  
3.	};  

(app.js):

1.	var Hello = require('./hello.js');  
2.	Hello(); // "Hello World!"  

د راین مقاله شما با NodeJS Module  و نحوه ی استفاده از آن در NodJs آشنا شده اید. امیدواریم که از مطالب این مقاله برای شما مفید بوده باشد.

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان
  • NodeJs
  • 3k بازدید
  • 4 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید