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 الكامل بالعربي.