Сервер статических файлов
serveStatic — это middleware, позволяющий отправлять статические файлы из
указанной директории.
import { serveStatic } from '@shelepuginivan/lunatic'import { join } from 'path'
const staticDir = join(__dirname, 'static')
app.use('/static', serveStatic(staticDir))
app.listen(8000)В этом примере все запросы к /static и /static/* будут обрабатываться
serveStatic. Он отправит файл следующим образом:
- Путь запроса
/static/style.css-> Файл<staticDir>/style.css. - Путь запроса
/static/images/d430849b.png-> Файл<staticDir>/images/d430849b.png
и т.д.
Если запрашиваемый файл не существует, то в ответ будет иметь статус 404 Not Found.
serveStatic — это конфигурируемый middleware, что означает, что оно принимает
объект options с настройками:
import { serveStatic, ServeStaticOptions } from '@shelepuginivan/lunatic'import { join } from 'path'
const serveStaticOptions: ServeStaticOptions = { dotfiles: 'forbid', index: 'index.html', lastModified: false,}
app.use('/static', serveStatic(join(__dirname, 'static'), serveStaticOptions))
app.listen(8000)Опции конфигурации
dotfiles
Как сервер должен реагировать, когда клиент пытается получить доступ к файлам, начинающимся с точки (например, .htaccess).
Принимает одну из следующих строк:
'allow'— отвечает статусом200 OKи отправляет файл'forbid'— отвечает статусом403 Forbiddenи не отправляет файл'ignore'— отвечаем статусом404 Not Foundи не отправляет файл, т.е. делает вид, что файла не существует.
По умолчанию: 'ignore'.
etag
Включать ли заголовок
ETag .
Принимает значение типа boolean.
По умолчанию: true
index
Как сервер должен отвечать, когда клиент пытается получить доступ к каталогу.
- Установите значение
stringдля отправки определенного имени файла. - Установите значение
false, чтобы отключить эту функцию. Сервер будет отвечать статусом404 Not Found.
По умолчанию: 'index.html'.
lastModified
Включать ли заголовок
Last-Modified.
Принимает значение типа boolean.
По умолчанию: true