静态文件插件
此插件可为 Elysia 服务器提供静态文件/文件夹服务
安装方式:
bash
bun add @elysiajs/static
随后使用:
typescript
import { Elysia } from 'elysia'
import { staticPlugin } from '@elysiajs/static'
new Elysia()
.use(staticPlugin())
.listen(3000)
默认情况下,静态插件默认文件夹为 public
,并注册了 /public
前缀。
假设您的项目结构如下:
| - src
| - index.ts
| - public
| - takodachi.png
| - nested
| - takodachi.png
可访问路径将变为:
- /public/takodachi.png
- /public/nested/takodachi.png
配置
以下是插件接受的配置选项
assets
@默认值 "public"
要公开为静态资源的文件夹路径
prefix
@默认值 "/public"
注册公共文件的路径前缀
ignorePatterns
@默认值 []
要忽略不作为静态文件提供的文件列表
staticLimit
@默认值 1024
默认情况下,静态插件会将路径注册到路由器中并带有静态名称,如果超出限制,路径将延迟添加到路由器以减少内存使用。在内存和性能之间进行权衡。
alwaysStatic
@默认值 false
如果设置为 true,静态文件路径将直接注册到路由器,跳过 staticLimits
限制。
headers
@默认值 {}
设置文件的响应头
indexHTML
@默认值 false
如果设置为 true,来自静态目录的 index.html
文件将用于任何既不匹配路由也不匹配现有静态文件的请求。
模式
以下是使用插件的常见模式。
单文件
假设您只想返回单个文件,可以使用 file
而不是静态插件
typescript
import { Elysia, file } from 'elysia'
new Elysia()
.get('/file', file('public/takodachi.png'))