campaign-experts

آموزش متدهای مربوط به ماژول path یا مسیر در Nodejs



visibility  
mode_comment   ۰

آموزش متدهای مربوط به ماژول path یا مسیر در Nodejsدر این مطلب قصد داریم متدهای مربوط به ماژول path برای کار کردن با مسیرها در Nodejs رو بهتون معرفی کرده و کاربرد اونا رو بهتون توضیح بدیم تا بیشتر با این ماژول مهم آشنا بشید.

ماژول Path یا مسیر، متدهای کاربردی و مفیدی رو در اختیارتون قرار میده که با استفاده از اونا میتونین کارهای مربوط به مسیرها رو انجام بدین و هر چیزی که مربوط به path هست رو مدیریت کنید.

برای استفاده از این ابزار، نیاز به هیچ نصبی نیست. این ماژول یکی از ماژولهای اصلی Nodejs هست که همون موقع که node رو نصب میکنید، این ماژول و ماژولهای اصلی دیگر نصب میشن. برای استفاده از این ماژول در فایل مورد نظرتون، باید در بالای فایل کد زیر رو قرار بدین:

با اینکار ماژول path وارد پروژتون میشه و میتونین به راحتی از متدهای اون استفاده کنید.

قبل از اینکه متدهای مربوط به این Module رو خدمتتون معرفی کنم، باید دو ویژگی که در این ماژول در اختیارتون قرار میگیره رو بهتون توضیح بدم.

  • path.sep : این ویژگی کاراکتری که برای جداکردن بخشهای مسیر در سیستم‌عاملهای مختلف مورد استفاده قرار میگیره رو در اختیارتون قرار میده. در ویندوز \ و در لینوکس و مک / می‌باشد.
  • path.delimeter : این ویژگی کاراکتری که برای جداکردن کل مسیرها از یکدیگر مورد استفاده قرار میگیره رو در اختیارتون قرار میده. مثلا برای جدا کردن کل مسیرها از هم در ویندوز از ; استفاده میشه و در لینوکس از : استفاده میشه.

متدهای مربوط به ماژول path

این ماژول متدهای زیر را دارد:

  • path.basename()
  • path.dirname()
  • path.extname()
  • path.isAbsolute()
  • path.join()
  • path.normalize()
  • path.parse()
  • path.relative()
  • path.resolve()

حالا یکی یکی متدهای بالا رو توضیح میدم.

متد path.basename

متخصص جاوا اسکریپت
با جاوا اسکریپت جادوگری کنید! آیا می دونید با زبان جاوااسکریپت می تونید، برای فرانت اند و بک اند وبسایت ها برنامه نویسی کنید؟ همینطور اپلیکیشن دسکتاپ و موبایل بسازید؟ اگر دوست داری اینکارها رو انجام بدی و React, ElectronJS, ReactNative, NodeJS,MongoDB و ... رو تو یه دوره یاد بگیری، متخصص جاوااسکریپت سون لرن رو حتما ببین : متخصص جاوا اسکریپت arrow_back

با استفاده از این متد میتونین آخرین قسمت یا تکه مسیر رو جدا کرده و به دست بیارید. با استفاده از پارامتر دوم میتونین افزونه یا extension اون رو نیز فیلتر کرده و بردارید. بعد از // خروجی هر دستور نمایش داده شده است. مثالهای زیر رو ببینید:

متد path.dirname

با استفاده از این متد میتونین دایرکتوری مسیر مورد نظرتون رو بدست بیارید. بصورت زیر:

متد path.extname

با استفاده از متد میتونین افزونه یا extension مسیر مورد نظرتون رو بدست بیارید. بصورت زیر:

متد path.isAbsolute

با استفاده از این متد میتونین مشخص کنید که یک مسیر Absolute یا مطلق هست یا Relative و نسبی. بصورت زیر:

متد path.join

با استفاده از این متد میتونین 2 یا چند قسمت از مسیر رو به هم متصل کرده و مسیر کاملی رو به دست بیارید. بصورت زیر:

متد path.normalize

این متد سعی میکنه که وقتی در مسیر . یا .. یا // استفاده شده است، اون رو نرمال‌سازی کرده و مسیر واقعی رو بدست بیاره. بصورت زیر:

متد path.parse

با استفاده از این متد میتونین یک مسیر رو تجزیه و تحلیل کنید و قسمتهای مختلف اون رو بصورت یک Object یا شئ بدست بیارید. این متد اطلاعات زیر رو در قالب یک شئ در اختیارتون قرار میده:

  • root : ریشه مسیر
  • dir : مسیر دایرکتوری که از root شروع میشه
  • base : نام فایل + افزونه یا Extension
  • name : نام فایل
  • ext : افزونه فایل

مثال زیر رو ببینید:

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

متد path.relative

این متد 2 آرگومان رو قبول میکنه و مسیر نسبی از مسیر اول نسبت به مسیر دوم رو بر پایه مسیری که الان هستیم، برگشت میده و در اختیارمون قرار میده. بصورت زیر:

متد path.resolve

با استفاده از این متد میتونین مسیر مطلق رو از روی مسیر نسبی بدست بیارید. فرض کنید که در حال حاضر در مسیر خانه یا home هستیم و دستور زیر رو اجرا میکنیم:

اگر دو آرگومان رو به این متد ارسال کنید، resolve از آرگومان اول به عنوان پایه آرگومان دوم استفاده میکنه. بصورت زیر:

اگر آرگومان اول با / شروع بشه، مشخص میکنه که خروجی یک مسیر مطلق هست. بصورت زیر:

همونطور که مشاهده کردید با استفاده از ماژول path میتونین هر کاری که بخوایم رو در مورد مسیرها انجام بدیم.

در اینجا میتونین مستندات مربوط به  path module رو مشاهده کنید.

comment دیدگاه کاربران

add_circle ارسال دیدگاه

خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :