Skip to content

静态插件

此插件可以为 Elysia Server 提供静态文件/文件夹的服务

安装方法:

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

@default "public"

要暴露为静态的文件夹路径

prefix

@default "/public"

注册公共文件的路径前缀

ignorePatterns

@default []

要忽略的不提供静态文件服务的文件列表

staticLimit

@default 1024

默认为,静态插件将以静态名称将路径注册到路由器,如果超过限制,路径将懒惰地添加到路由器以减少内存使用。 在内存和性能之间权衡。

alwaysStatic

@default false

如果设置为 true,静态文件路径将跳过 staticLimits 注册到路由器。

headers

@default {}

设置文件的响应头

indexHTML

@default false

如果设置为 true,当请求既不匹配路由也不匹配任何现有静态文件时,将提供静态目录中的 index.html 文件。

模式

以下是使用该插件的常见模式。

单个文件

假设你只想返回一个单独的文件,可以使用 file 而不是使用静态插件

typescript
import { 
Elysia
,
file
} from 'elysia'
new
Elysia
()
.
get
('/file',
file
('public/takodachi.png'))

贡献者

The avatar of contributor named as 一纸忘忧 一纸忘忧

页面历史