Skip to content
我们的赞助商

静态文件插件

此插件可为 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'))