• بخش 12 – آموزش Node.JS ، ماژول های هسته
بخش 12 – آموزش Node.JS ، ماژول های هسته
1395/03/19 - 22:41:59 // Node.js // 0 نظر // 3755 بازدید

فلسفه ی Node.js وجود یک سری ماژول های هسته و مرکزی می باشد که اجازه می دهد تا با استفاده از آن ها توابع پیشرفته فراهم شود . در این بخش می خواهیم برخی از این ماژول های مرکزی را بررسی نماییم .

بخش 12 – آموزش Node.JS ، ماژول های هسته

فلسفه ی Node.js وجود یک سری ماژول های هسته و مرکزی می باشد که اجازه می دهد تا با استفاده از آن ها توابع پیشرفته فراهم شود . در این بخش می خواهیم برخی از این ماژول های مرکزی را بررسی نماییم .

استفاده از ماژول های هسته

استفاده از ماژول های هسته ، خیلی شبیه به استفاده از ماژول های مبتنی برفایل می باشد که برای خودتان نوشته اید . شما همچنان از require استفاده خواهید کرد . تنها تفاوت در آنجاست که شما بجای استفاده از مسیر نسبی برای دسترسی به فایل ، از نام ماژول در تابع require استفاده خواهید نمود . بعنوان مثال ، ماژول path را در نظر بگیرید برای استفاده از آن باید بصورت var path = require( ‘ path ‘ ) از آن استفاده کنید . مانند ماژول های مبتنی برفایل باز هم شما از آلودگی های namespace های سراسری استفاده نخواهید کرد و چیزی که از آن استفاده می کنید در واقع یک متغیر محلی می باشد که شما آن را نامگذاری نموده اید تا به محتوای آن ماژول دست یابید .

ماژول Path

برای بارگزاری این ماژول کافیست از require( ‘ path ‘ ) استفاده نمایید . هنگامی که با سیستم فایل کار می کنید با استفاده از path می توانید تبدیلات رشته ای مفیدی را فراهم نمایید . انگیزه ی کلیدی برای استفاده از ماژول path حذف تناقضات مسیر سیستم فایل می باشد . بعنوان مثال path.join در سیستم های مبتنی بر UNIX از اسلش ‘/’ استفاده می نماید مانند سیستم های MAC . و در سیستم های ویندوزی از بک اسلش ‘\’ استفاده خواهد کرد . در ادامه برخی از توابع مفید بصورت خلاصه بررسی خواهیم کرد .

Path.normalize(str)

این تابع مشکلات اسلش و بک اسلش را حذف کرده و همچنین اسلش های دوتایی را نیز حذف می کند . اینکار براساس سیستم عاملی که در آن اجرا خواهد شد صورت خواهد گرفت . مثالی از آن را در زیر مشاهده می کنید:

Path.join([str1],[str2], … )

این تابع هر تعداد مسیر را به یکدیگر متصل کرده و اینکار را براساس نوع سیستم عامل انجام می دهد . یک مثال را در زیر می بینید :

و نتیجه ی اجرای کدهای بالا بصورت زیر خواهد بود :

Dirname , basename , extname

موارد ذکر شده ، سه تابع بسیار مفید در ماژول path می باشند . path.dirname ، بخش دایرکتوری یک مسیر را بسته به سیستم عامل به شما خواهد داد. Path.basename به شما نام فایل را خواهد داد . path.extname به شما پسوند فایل را خواهد داد . یک نمونه از توابع را در زیر می بینید :

اجرای کدهای بالا خروجی زیر را به دنبال خواهد داشت :

ماژول path توابع مفید دیگری نیز دارد که می توانید آن ها را از لینک زیر مطالعه بفرمایید :

http://nodejs.org/api/path.html

ماژول fs

ماژول fs دسترسی به سیستم فایل را فراهم می آورد . برای بارگزاری این ماژول از require( ‘ fs ‘ ) استفاده نمایید . این ماژول توابعی برای تغییر نام ، حذف ، خواندن و نوشتن فایل دارد . یک مثال ساده برای نوشتن در فایل را در ادامه می بینید :

اجرای کدهای بالا بصورت زیر خواهد بود :

یکی از چیزهای خیلی عالی در مورد ماژول fs این است که بصورت غیرهمزمان بخوبی همزمان ( با استفاده از پسوند sync ) برای ارتباط با سیستم فایل کار خواهد کرد . بعنوان مثال شما برای حذف یک فایل می توانید از unlink و یا unlinkSync استفاده نمایید .

نسخه ی همزمان را در مثال زیر می بینید :

و همچنین نسخه ی غیرهمزمان کد بالا را در زیر مشاهده می نمایید :

تفاوت اصلی بین دو نسخه این است که در نسخه ی غیرهمزمان یک تابع callback را گرفته و اگر خطایی رخ دهد آن را برمی گرداند .

ماژول os

ماژول os برخی از توابع سودمند ( حیاتی ) و تنظیمات مربوط به سیستم عامل را شامل می شود . شما می توانید با استفاده از require( ‘ os ‘ ) آن را فراخوانی نمایید . بعنوان مثال اگر می خواهید به میزان حافظه ی استفاده شده ی جاری دسترسی داشته باشید می توانید از تابع os.totalmem() استفاده کنید . و یا با استفاده از os.freemem() میزان حافظه ی آزاد جاری را بدست آورید . در زیر کدهایی برای نمونه مشاهده می نمایید :

و نتیجه ی اجرای کدهای بالا را در زیر می بینید :

یک مورد حیاتی دیگر در مورد ماژول os بدست آوردن اطلاعاتی در مورد cpu می باشد که نمونه کدها را در زیر می بینید :

اجرای آن بصورت زیر خواهد بود :

ماژول util

ماژول util دارای توابعی مفید در زمینه ی اهداف کلی می باشد . شما با استفاده از require( ‘ util ‘ ) می توانید به آن دسترسی داشته باشید . شما برای نمایش چیزی با استفاده از مهر زمانی در کنارش می توانید از تابع util.log بصورت زیر استفاده نمایید :

اجرای این کد بصورت زیر خواهد بود :

یکی دیگر از ویژگی های بسیار مفید util استفاده از فرمت رشته ها با آن می باشد . این تابع شبیه به تابع printf در C/C++ می باشد . اولین ورودی دارای مکان های رزروی برای مقادیر ورودی بعدی مباشد . به مثال زیر توجه نمایید تا بهتر متوجه شوید :

و خروجی کدهای بالا بصورت زیر خواهد بود

افزون برموارد بالا ماژول util توابعی برای چک کردن نوع دارا می باشد . توابعی مانند ( isArray , isDate , isError ) . مثالی از این موارد را می بینید :

شاد و سلامت باشید

محمد جعفری فوتمی

محمد جعفری فوتمی
معرفی نویسنده : محمد جعفری فوتمی

از سال 1382 بطور تخصصی در زمینه ی طراحی وب سایت کار کرده ام و در طی 12 سال گذشته تجربیاتی را کسب کرده ام که در هیچ کتاب و منبع آنلاینی یافت نمی شود ، تصمیم گرفته ام تا این تجربیات را در قالب مقالاتی به اشتراک بگذارم . امیدوارم مفید واقع شود .

امتیاز به مطلب
           
نظرات کاربران
ارسال نظر