لماذا لا يقبل nodejs المسارات الrelative في حالة التعامل مع الملفات؟
لماذا لا يقبل nodejs المسارات الrelative في حالة التعامل مع الملفات؟
اعتقد ان nodejs يقبل المسارات الـ relative ولكن الوظيفة sendFile هي التي لا تقبل المسارات الـ relative.
وهنالك طريقة سهل لفعل ذلك وهي كالتالي :
var path = require('path'); res.sendFile(path.join(__dirname, '../public', 'index1.html'));
حيث dirname__ تعبر عن مسار المجلد الذي توجد فيه فإذا كان الملف الذي يحتوي الكود السابق في مجلد اسمه app سيكون الـ dirname__ هو المسار الـ absolute للمجلد app .
ويمكنك تعديل المسار السابق ليطابق المسار الذي تريده وهو سيعمل على كل بيئات العمل حيث أن الخاصية path.join تحرص على ان يكون المسار متلائم مع كل انظمة التشغيل و المتغير dirname__ يعبر عن مسار المجلد الحاوي على الملف بغض النظر عن المكان الذي يوجد فيه.
قد يفيدك الاطلاع على هذا النقاش :
توثيق وظيفة sendFile :
التعليقات