localhost
GET
Interactive Playground
当前部署环境只有 2C4G。为了避免构建阶段因 Monaco、Rollup Browser 和 类型分析导致 OOM,这个版本只保留教程内容,不内嵌在线 Playground。
bun run build:full如需完整交互体验,请在更高配置环境执行上面的完整构建命令。
当我们访问一个网站时,它会接收
/、/about 或 /contactGET、POST 或 DELETE用来确定显示哪个资源,通常称为 "路由"。
在 Elysia 中,我们可以通过以下方式定义路由:
import { Elysia } from 'elysia'
new Elysia()
.get('/', '你好,世界!')
.listen(3000)Elysia 中的路径可以分为 3 种类型:
查看 路由。
静态路径是一个硬编码字符串,用于定位服务器上的资源。
import { Elysia } from 'elysia'
new Elysia()
.get('/hello', '你好')
.get('/hi', '嗨')
.listen(3000)查看 静态路径。
动态路径匹配某些部分并捕获值以提取额外信息。
要定义动态路径,我们可以使用冒号 : 之后跟名称。
import { Elysia } from 'elysia'
new Elysia()
.get('/id/:id', ({ params: { id } }) => id)
.listen(3000)这里,创建了一个动态路径 /id/:id,它告诉 Elysia 捕获 :id 段的值,如 /id/1、/id/123、/id/anything。
查看 动态路径。
我们可以通过在参数名称后添加问号 ? 来使路径参数变为可选。
import { Elysia } from 'elysia'
new Elysia()
.get('/id/:id?', ({ params: { id } }) => `id ${id}`)
.listen(3000)查看 可选路径参数。
动态路径允许捕获单个段,而通配符允许捕获路径的其余部分。
要定义通配符,我们可以使用星号 *。
import { Elysia } from 'elysia'
new Elysia()
.get('/id/*', ({ params }) => params['*'])
.listen(3000)查看 通配符。
让我们回顾一下,并创建 3 条具有不同类型的路径:
/elysia,响应为 "你好 Elysia!"/friends/:name?,响应为 "你好 {name}!"/flame-chasers/*,响应为路径其余部分。import { Elysia } from 'elysia'
new Elysia()
.get('/elysia', '你好 Elysia!')
.get('/friends/:name?', ({ params: { name } }) => `你好 ${name}!`)
.get('/flame-chasers/*', ({ params }) => params['*'])
.listen(3000)