~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 ابزارهای قدرتمندی برای مدیریت مسیرها در سیستمعاملهای مختلف فراهم میکند. با استفاده از متدهای آن میتوان مسیرها را تجزیه، ترکیب، نرمالسازی و بررسی کرد، و برنامهها را مستقل از پلتفرم توسعه داد.
نوشته و پژوهش شده توسط دکتر شاهین صیامی