node-static | В паутине

node-static

Черновой перевод описания модуля node-static

node-static

простой гибкий модуль чтения-записи файлов для Node

Node-static понимает и поддерживает условные GET и HEAD-запросы. Node-static был вдохновлен некоторыми другими модулями для работы со статическими файлами, такими как node-paperboy и antinode.

Краткий обзор

API

Создание node-static сервера

Создание экземпляра сервера происходит очень просто:
new static.Server();

Он будет работать с файлами в текущей директории. Если вы хотите работать с файлами в какой-нибудь другой директории, укажите путь к ней первым аргументом:
new static.Server('./public');
Вы можете также указать, как долго клиент может хранить полученные данные в кэше:
new static.Server('./public', { cache: 3600 });
Эта строка установит заголовок ответа Cache-Control, указывающий клиенту, что срок кэширования файла составляет один час. Это настройки по умолчанию.

Работа с файлами в директории

Чтобы работать с файлами в директории, просто вызовите метод serve экземпляра сервера и передайте ему объекты запроса и ответа сервера.

Работа с конкретными файлами

Если вам необходимо работать с конкретными файлами, например, со страницей ошибки, используйте метод serveFile.
fileServer.serveFile('/error.html', 500, {}, request, response);
Эта строка вернет файл error.html из корневой директории со статусом 500. Например, вы можете возвращать страницу ошибки, если первоначальный запрос не был найден:

Более подробно о перехвате ошибки ниже.

Перехват ошибок и прослушивание событий

Функция обратного вызова может быть передана как последний необязательный аргумент. Она будет вызываться каждый раз, когда файл был успешно передан, или если произошла ошибка при передаче.

Обратите внимание, что если вы передаете функцию обратного вызова и происходит ошибка при передаче файла, Node-static не ответит клиенту. Это дает возможность изменить маршрут запроса или обработать его по-другому.
Например, вы можете захотеть интерпретировать запрос как статический, но если файл не найден, отравить его в приложение.
Если вы хотите слушать события ошибок, вы можете использовать обработчики событий:

С этим методом вам не придется отправлять ответ, если произойдет ошибка.

Параметры при создании сервера

cache
Устанавливает заголовок Cache-Control.
Пример: { cache: 7200 }
Длительность кэша составит указанное количество секунд. Передача false отключит заголовок Cache-Control.
По умолчанию длительность кэширования составляет 3600 сек.
serverInfo
Устанавливает заголовок Server.
Пример: { serverInfo: "myserver" }
По умолчанию: node-static{version}
headers
Устанавливает заголовки ответа.
Пример: { 'X-Hello': 'World!' }
По умолчанию: {}
gzip
Включает поддержку отправления сжатых ответов. Позволяет проверять с текущей папке наличие файлов с указанным имененм и расширение '.gz'. Если сжатый файл найден и клиент указал поддержку передачи сжатых файлов, то содержимое файла .gz будет отправлено вместо содержимого несжатого файла с заголовком Content-Encoding: gzip.
Пример: { gzip: true }
Пример: { gzip: /^\/text/ }
Передача true устанавливает проверку для всех файлов. Передача регулярного выражения — только для файлов, соответствующих этому выражению.
По умолчанию: false
indexFile
Устанавливает произвольный индексный файл.
Пример: { indexFile: "index.htm" }
По умолчанию: index.html

Интерфейс командной строки

node-static поддерживает CLI.

Установка

$ npm install -g node-static

Примеры использования

Комментарии (0)

Ваш email не будет опубликован. Все поля обязательны