اذهب إلى المحتوى
  • 0

ما فائدة استخدام {root:__dirname} في node.js

Youness Bait

السؤال

Recommended Posts

  • 0

نعم ستتعرف على الـ __dirname في express في دورات جافاسكريبت، وإذا كان يمكنك مشاركة الكود الذي تشير إليه اسفل الدرس الذي تشاهده حالياً فيمكنني شره لك بشكل مفصل.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 43 دقائق مضت قال Youness Bait:

هذا الكود فهمته جيدا لكن لا اعرف ماهو دور {root:__dirname}

أرجو التعليق أسفل فيديو الدورة لمساعدتك بشكل أفضل، وطرح الأسئلة العامة هنا.

نستخدم الخاصية root في خيارات sendFile() لتحديد الدليل الذي سيتم البحث فيه عن الملف الذي سيتم إرساله، وبدون تلك الخاصية، سيبحث Node.js عن الملف في الدليل الحالي، والذي قد لا يكون هو المكان الذي توجد فيه الملف.

و__dirname هي دالة داخلية في Node.js تُرجع اسم الدليل الذي تم تحميل الملف الحالي منه.

لذلك ستبحث Node.js عن الملف server.html في الدليل الذي تم تحميل ملف الكود الحالي منه أي ملف جافاسكريبت الذي به الكود.

بمعنى آخر فائدة __dirname  هي أنها تسمح لتطبيق Node.js بإرجاع الملف server.html بغض النظر عن مكان وجوده في النظام، وذلك مفيد بشكل خاص عند العمل مع تطبيقات متعددة الصفحات أو عند الحاجة إلى إرجاع ملف من دليل مختلف عن الدليل الحالي.

وإليك مثال على كيفية استخدام root لتحديد الدليل الذي سيتم البحث فيه عن الملف الذي سيتم إرساله من دليل مختلف:

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.sendFile('public/index.html', { root: 'public' });
});

app.listen(3000);

هنا نستخدم root: 'public' لتحديد الدليل public كدليل الجذر، مما يعني أن Node.js سيبحث عن الملف index.html في الدليل public.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...