2016-01-04 2 views
2

Я пытаюсь показать каталог изображений, когда каталог добавлен в URL моего приложения. Дано:Узел не служит статическому каталогу

var serveindex = require('serve-index') 
    , PORT = 8888; 

ни:

var userUploadedImages = __dirname + '/userUploadedImages'; 
app.use(userUploadedImages, serveindex('/userUploadedImages')); 

ни:

var userUploadedImages = 'http://localhost:' + PORT + '/userUploadedImages'; //this would for sure be more likely to work, but i tried both 
app.use(userUploadedImages, serveindex('/userUploadedImages')); 

работы. Каталог картинок у меня не появляется, только мой индекс, в противном случае вынести бы, если бы я был в корне с:

app.get('/', function(req, res){ 
    res.send('index.html'); 
}); 

Я использую угловой маршрут, но не маршрут установки для userUploadedImages. Я не получаю никаких консольных ошибок в браузере или в терминале, где работает мой сервер.

+0

Попробуйте использовать магию: 'path = require ('path'); var userUploadedImages = path.resolve (__ dirname, '/ userUploadedImages') ' –

+0

userUploadedImages должен быть локальным путем, а не URL-адресом. Что выводит первый пример userUploadedImages при использовании console.log? Это путь, который вы ожидаете? Обратите внимание, что __dirname выполняется в каталоге, в котором находится скрипт. – Kelz

+0

Используете ли вы 'express'? Что такое 'serve-index'? – MinusFour

ответ

1

Экспресс app.use принимает в качестве первого аргумента путь URI, по которому будет отправлен листинг, и путь serve-index принимает путь к каталогу, в который они будут делать списки.

Таким образом, в этом примере, он будет служить каталог userUploadedImages в том же каталоге, что и файл сценария по URL пути /userUploadedImages:

var userUploadedImages = __dirname + '/userUploadedImages'; 
app.use('/userUploadedImages', serveindex(userUploadedImages)); 

Так что если вы посещаете сервер под /userUploadedImages вы должны увидеть списки ваш каталог userUploadedImages.

Смежные вопросы