feat: add bun-fullstack agent and update skills
This commit is contained in:
84
.agent/skills/tech-stack/elysiajs/plugins/static.md
Normal file
84
.agent/skills/tech-stack/elysiajs/plugins/static.md
Normal file
@@ -0,0 +1,84 @@
|
||||
# Static Plugin
|
||||
This plugin can serve static files/folders for Elysia Server
|
||||
|
||||
## Installation
|
||||
```bash
|
||||
bun add @elysiajs/static
|
||||
```
|
||||
|
||||
## Basic Usage
|
||||
```typescript twoslash
|
||||
import { Elysia } from 'elysia'
|
||||
import { staticPlugin } from '@elysiajs/static'
|
||||
|
||||
new Elysia()
|
||||
.use(staticPlugin())
|
||||
.listen(3000)
|
||||
```
|
||||
|
||||
By default, the static plugin default folder is `public`, and registered with `/public` prefix.
|
||||
|
||||
Suppose your project structure is:
|
||||
```
|
||||
| - src
|
||||
| - index.ts
|
||||
| - public
|
||||
| - takodachi.png
|
||||
| - nested
|
||||
| - takodachi.png
|
||||
```
|
||||
|
||||
The available path will become:
|
||||
- /public/takodachi.png
|
||||
- /public/nested/takodachi.png
|
||||
|
||||
## Config
|
||||
Below is a config which is accepted by the plugin
|
||||
|
||||
### assets
|
||||
@default `"public"`
|
||||
|
||||
Path to the folder to expose as static
|
||||
|
||||
### prefix
|
||||
@default `"/public"`
|
||||
|
||||
Path prefix to register public files
|
||||
|
||||
### ignorePatterns
|
||||
@default `[]`
|
||||
|
||||
List of files to ignore from serving as static files
|
||||
|
||||
### staticLimit
|
||||
@default `1024`
|
||||
|
||||
By default, the static plugin will register paths to the Router with a static name, if the limits are exceeded, paths will be lazily added to the Router to reduce memory usage.
|
||||
Tradeoff memory with performance.
|
||||
|
||||
### alwaysStatic
|
||||
@default `false`
|
||||
|
||||
If set to true, static files path will be registered to Router skipping the `staticLimits`.
|
||||
|
||||
### headers
|
||||
@default `{}`
|
||||
|
||||
Set response headers of files
|
||||
|
||||
### indexHTML
|
||||
@default `false`
|
||||
|
||||
If set to true, the `index.html` file from the static directory will be served for any request that is matching neither a route nor any existing static file.
|
||||
|
||||
## Pattern
|
||||
Below you can find the common patterns to use the plugin.
|
||||
|
||||
## Single file
|
||||
Suppose you want to return just a single file, you can use `file` instead of using the static plugin
|
||||
```typescript
|
||||
import { Elysia, file } from 'elysia'
|
||||
|
||||
new Elysia()
|
||||
.get('/file', file('public/takodachi.png'))
|
||||
```
|
||||
Reference in New Issue
Block a user