Express.js - любой способ отобразить список файлов/директорий?
С Express.js существует способ отображения списка файлов/директорий, таких как apache, когда вы обращаетесь к URL-адресу каталога, который не работает У меня есть индексный файл, поэтому он отображает список всех содержимого этих каталогов?
Есть ли расширение или пакет, который делает это, о котором я не знаю? Или я должен сам это сделать?
Приветствую, ребята, вы рок!:)
Ответы
Ответ 1
Существует совершенно новое связующее ПО Connect по умолчанию, называемое directory
(источником) для списков каталогов. Он имеет много стиля и имеет окно поиска на стороне клиента.
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);
Ответ 2
Начиная с Express 4.x, промежуточное ПО каталога больше не связывается с выражением. Вы захотите загрузить модуль npm serve-index.
Затем, например, для отображения списков файлов /dir в каталоге в корневом приложении под названием videos
будет выглядеть:
var serveIndex = require('serve-index');
app.use(express.static(__dirname + "/"))
app.use('/videos', serveIndex(__dirname + '/videos'));
Ответ 3
Следующий код будет обслуживать как каталог, так и файлы
var serveIndex = require('serve-index');
app.use('/p', serveIndex(path.join(__dirname, 'public')));
app.use('/p', express.static(path.join(__dirname, 'public')));
Ответ 4
Это сделает для вас работу: (новая версия express требует отдельного промежуточного программного обеспечения). Например. вы помещаете файлы в папку "файлы", и вы хотите, чтобы URL-адрес был "/public"
var express = require('express');
var serveIndex = require('serve-index');
var app = express();
app.use('/public', serveIndex('files')); // shows you the file list
app.use('/public', express.static('files')); // serve the actual files