توفر وحدة path في Node.js أدوات للتعامل مع مسارات الملفات والمجلدات وتنسيقها بشكل متوافق عبر أنظمة التشغيل المختلفة.
ضم المسارات وحلها (join مقابل resolve)
const path = require('path');
// ضم الأجزاء وتطبيع مسار النتيجة
path.join('/users', 'local', 'bin', '..');
// => '/users/local'
// حل مسار مطلق متسلسل من اليمين إلى اليسار استناداً إلى cwd
path.resolve('src', 'index.js');
// => '/current/working/dir/src/index.js'
تفكيك أجزاء المسار
const fullPath = '/workspace/project/src/main.ts';
path.dirname(fullPath);
// => '/workspace/project/src' // اسم المجلد الأب
path.basename(fullPath);
// => 'main.ts' // اسم الملف مع الامتداد
path.basename(fullPath, '.ts');
// => 'main' // اسم الملف بدون الامتداد
path.extname(fullPath);
// => '.ts' // امتداد الملف
path.parse(fullPath);
// تحليل المسار إلى كائن مفصل
// {
// root: '/',
// dir: '/workspace/project/src',
// base: 'main.ts',
// ext: '.ts',
// name: 'main'
// }
المسارات النسبية والتطبيع
// المسار النسبي من A إلى B
path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb');
// => '../../impl/bbb'
// تطبيع وإزالة النقاط والشرطات المزدوجة
path.normalize('/foo/bar//baz/asdf/quux/..');
// => '/foo/bar/baz/asdf'
ثوابت الفواصل عبر الأنظمة المختلفة
// فاصل المسار: '/' على POSIX أو '\' على Windows
path.sep;
// فاصل متغير PATH: ':' على POSIX أو ';' على Windows
path.delimiter;