BunPii - 为 Bun 专属打造的 API 接口框架核心引擎
- 🚀 基于 Bun 运行时,性能卓越
- 📦 零依赖设计,轻量级框架
- 🔌 插件系统,支持自定义执行顺序
- 🔒 内置 JWT 认证支持
- 📁 内置文件上传功能
- 🌐 CORS 跨域支持
- 📝 结构化日志系统
- 💾 Redis 缓存支持 (可回退到内存缓存)
- 🛣️ 简洁的路由系统
- ⚡ ESM 模块支持
import BunPii from './main.js';
const app = new BunPii({
port: 3000,
host: 'localhost'
});
// 添加路由
app.get('/hello', async (context) => {
return { message: 'Hello from BunPii Core!' };
});
// 启动服务器
await app.listen();
内置插件按以下顺序执行:
- Redis 插件 (order: -1) - 缓存支持
- CORS 插件 (order: 1) - 跨域处理
- Logger 插件 (order: 0) - 日志记录
- JWT 插件 (order: 2) - 认证支持
- Upload 插件 (order: 3) - 文件上传
const myPlugin = {
name: 'my-plugin',
order: 5,
async handler(context) {
// 插件逻辑
console.log('Processing:', context.request.url);
}
};
app.use(myPlugin);
GET /health
- 基础健康检查GET /status
- 详细状态信息GET /info
- 系统信息
POST /upload
- 文件上传GET /files
- 文件列表GET /files/:filename
- 文件信息GET /download/:filename
- 文件下载DELETE /files/:filename
- 删除文件
通过构造函数配置或 setConfig
方法:
const app = new BunPii({
port: 3000,
host: 'localhost'
});
// 或者
app.setConfig('cors.origin', '*');
app.setConfig('upload.maxSize', 10 * 1024 * 1024);
MIT License