تخطَّ إلى المحتوى

path.join()

دمج أجزاء مسار ملف path.join()

path.join() تدمج عدة أجزاء مسار بفاصل نظام التشغيل الصحيح، ثم تُطبّع (normalize) الناتج — بدون ضمان أن يكون مطلقًا.

path.join() تأخذ عددًا من الأجزاء النصية وتلصقها ببعضها باستخدام الفاصل المناسب لنظام التشغيل (/ على لينكس وماك، \\ على ويندوز)، ثم تحلّ أجزاء مثل .. و. لتنتج مسارًا نظيفًا. لا تفرض أن يكون الناتج مطلقًا — إن كانت الأجزاء نسبية يبقى الناتج نسبيًا.

هي الطريقة الموصى بها دائمًا لبناء مسارات بدل تجميعها يدويًا بعلامة + أو Template Literals، لأنها تتعامل تلقائيًا مع اختلاف فواصل المسار بين أنظمة التشغيل.

الصياغة

path.join(...paths)

📄 مثال

const path = require('node:path');

console.log(path.join('/foo', 'bar', 'baz/asdf', 'quux', '..'));
// '/foo/bar/baz/asdf'

console.log(path.join('data', 'users', 'ali.json'));
// 'data/users/ali.json' (نسبي، لأن كل الأجزاء نسبية)

أهم المعاملات

المعاملالوظيفة
...pathsسلسلة من أجزاء المسار النصية يتم دمجها بالترتيب

💡 نصائح عملية

  • استخدمها دائمًا بدل تجميع المسارات يدويًا — تتعامل تلقائيًا مع فاصل ويندوز (\\) مقابل لينكس (/)
  • دمجها مع __dirname أو import.meta.dirname شائع جدًا لبناء مسارات نسبية لمكان ملف الكود نفسه

⚠️ أخطاء شائعة

  • توقّع أن join ترجع مسارًا مطلقًا دائمًا — هي فقط تدمج وتُطبّع، بدون أي ضمان بأن الناتج مطلق
  • استخدام + أو Template Literal لدمج أجزاء المسار بدل path.join يكسر الكود عند تشغيله على نظام تشغيل مختلف

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار NODEJS الكامل بالعربي.