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

السؤال

نشر (معدل)

في خوادم apache عند الوصول إلى مجلّد لا يحوي ملف index نستطيع استعراض جميع المحتويات من الملفات أو المجلدات ضمنه، فهل هنالك طريقة مشابهة  أو حزمة معيّنة ضمن إطار العمل Express تسمح بالوصول إلى الملفات مباشرةً من خلال المتصفح بدلاً من رسائل الخطأ؟

تم التعديل في بواسطة Bassel Jhr

Recommended Posts

  • 1
نشر

اعتبارًا من الإصدار Express 4.x ، لم تعد البرامج الوسيطة middleware الخاصة بالمسار directory مُجمعة مع express.

ستحتاج الى تنزيل وحدة npm المُسماة ب serve-index .

ثم ، على سبيل المثال ، لعرض قوائم الملفات/المسار في مسار  جذر التطبيق المسمى videos سيبدو كما يلي:

var express    = require('express')
var serveIndex = require('serve-index')
 
var app = express()

app.use(express.static(__dirname + "/"))
app.use('/videos', serveIndex(__dirname + '/videos'));
 
app.listen(3000)

حيث سيتم عرض محتويات المجلد أو المسار videos الذي يكون في جذر التطبيق.

اما إذا أردت أن يعمل مثلما يعمل apache بحيث عندما لا يجد index.html يقوم بعرض الملفات التي تكون في الجذر فيمكنك استخدام الآتي

var express    = require('express')
var serveIndex = require('serve-index')
 
var app = express()

app.use('/', express.static(__dirname), serveIndex(__dirname, {'icons': true}))
 
app.listen(3000)

 

  • 1
نشر (معدل)

أيضاً هناك برنامج وسيط افتراضي جديد middleware يسمى Directory لل directory listings. لديه الكثير من الخيارات ويحتوي على مربع بحث من جانب العميل client-side:

var express = require('express')
  , app = express.createServer();
app.configure(function() {
  var hourMs = 1000*60*60;
  app.use(express.static(__dirname + '/public', { maxAge: hourMs }));
  app.use(express.directory(__dirname + '/public'));
  app.use(express.errorHandler());
});
app.listen(8080);

 

تم التعديل في بواسطة Ali Haidar Ahmad

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...