ماژول Path در Node.js

ماژول node:path مجموعه‌ای از ابزارها برای کار با مسیرهای فایل و پوشه فراهم می‌کند. این ماژول امکان تجزیه، ترکیب، نرمال‌سازی، و بررسی مسیرها را به‌صورت سازگار با سیستم‌عامل‌های مختلف (Windows و POSIX) می‌دهد. همچنین نسخه‌های اختصاصی path.win32 و path.posix برای نتایج یکسان در هر سیستم‌عامل ارائه شده‌اند.

path.basename / path.dirname / path.extnamepath.format / path.parsepath.join / path.normalize / path.resolvepath.isAbsolute / path.relativepath.delimiter / path.seppath.win32 / path.posix

~2 دقیقه مطالعه • بروزرسانی ۹ دی ۱۴۰۴

1. تفاوت Windows و POSIX


رفتار پیش‌فرض path بسته به سیستم‌عامل متفاوت است. برای نتایج یکسان:


  • path.win32: برای مسیرهای ویندوز.
  • path.posix: برای مسیرهای POSIX.

2. متدهای پایه


  • path.basename(path[, suffix]): آخرین بخش مسیر (نام فایل).
  • path.dirname(path): نام پوشهٔ والد.
  • path.extname(path): پسوند فایل.

path.basename('/foo/bar/file.txt'); // 'file.txt'
path.dirname('/foo/bar/file.txt');  // '/foo/bar'
path.extname('index.html');         // '.html'

3. ساخت و تجزیه مسیر


  • path.format(pathObject): ساخت مسیر از یک شیء.
  • path.parse(path): تجزیه مسیر به root, dir, base, name, ext.

path.parse('/home/user/file.txt');
// { root: '/', dir: '/home/user', base: 'file.txt', name: 'file', ext: '.txt' }

4. ترکیب و نرمال‌سازی


  • path.join([...paths]): ترکیب بخش‌های مسیر.
  • path.normalize(path): نرمال‌سازی مسیر (حذف .. و .).
  • path.resolve([...paths]): ساخت مسیر مطلق.

path.join('/foo', 'bar', 'baz'); // '/foo/bar/baz'
path.normalize('/foo/bar//baz/..'); // '/foo/bar'
path.resolve('www', 'static/img');  // '/home/user/www/static/img'

5. بررسی مسیر


  • path.isAbsolute(path): بررسی مطلق بودن مسیر.
  • path.relative(from, to): مسیر نسبی بین دو مسیر.

path.isAbsolute('/foo/bar'); // true
path.relative('/data/test', '/data/impl'); // '../impl'

6. ثابت‌های سیستم‌عامل


  • path.delimiter: جداکنندهٔ مسیرها در متغیر PATH (: در POSIX، ; در ویندوز).
  • path.sep: جداکنندهٔ بخش‌های مسیر (/ در POSIX، \ در ویندوز).

7. ویژگی‌های خاص ویندوز


  • path.toNamespacedPath(path): تبدیل مسیر به namespace-prefixed (فقط ویندوز).
  • path.win32: نسخهٔ ویندوزی متدها.

نتیجه‌گیری


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


نوشته و پژوهش شده توسط دکتر شاهین صیامی