第三方库依赖
Client 核心依赖
| 分类 | 库 | 版本 | 用途 |
|---|---|---|---|
| UI 框架 | react, react-dom | ^19.2.0 | UI 基础 |
| shadcn/ui (new-york) | — | 组件库(基于 Radix UI) | |
| radix-ui | ^1.4.3 | 无障碍 UI 原语 | |
| tailwindcss | ^4.1.18 | 原子化 CSS | |
| class-variance-authority | ^0.7.1 | 组件变体样式 | |
| tailwind-merge | ^3.4.0 | class 合并去重 | |
| clsx | ^2.1.1 | 条件 class 拼接 | |
| 权限 | @casl/react | ^5.0.1 | RBAC 权限(配合 @casl/ability) |
| 错误边界 | react-error-boundary | ^6.1.0 | React Error Boundary |
| 状态管理 | zustand | ^5.0.11 | 轻量全局状态 |
| 路由 | react-router-dom | ^7.13.0 | 客户端路由 |
| 实时通信 | socket.io-client | ^4.8.3 | WebSocket 客户端 |
| 音频 | howler | ^2.2.4 | 音频播放引擎 |
| @applemusic-like-lyrics/core | ^0.2.0 | 歌词解析核心 | |
| @applemusic-like-lyrics/react | ^0.2.0 | 歌词 React 组件 | |
| 动画 | motion | ^12.34.0 | Framer Motion 动画 |
| tw-animate-css | ^1.4.0 | Tailwind 动画预设 | |
| 图形渲染 | @pixi/app, core, display, sprite | ^7.4.3 | PixiJS(歌词背景渲染) |
| @pixi/filter-blur, filter-bulge-pinch, filter-color-matrix | — | PixiJS 滤镜 | |
| 弹窗 | vaul | ^1.x | 移动端 Drawer(底部抽屉,支持拖拽关闭) |
| 虚拟列表 | @tanstack/react-virtual | ^3.13.18 | 虚拟滚动(歌单详情大列表) |
| 工具 | dayjs | ^1.11.19 | 日期格式化 |
| nanoid | ^5.1.6 | ID 生成 | |
| sonner | ^2.0.7 | Toast 通知 | |
| lucide-react | ^0.563.0 | 图标库 | |
| jss, jss-preset-default | ^10.10.0 | CSS-in-JS(AMLL 依赖) |
Server 核心依赖
| 库 | 版本 | 用途 |
|---|---|---|
| express | ^4.21.0 | HTTP 框架 |
| socket.io | ^4.8.3 | WebSocket 服务端 |
| @meting/core | ^1.6.0 | 多音源音乐数据聚合 |
| @s4p/kugou-lrc | ^0.2.0 | 酷狗 KRC 逐字歌词获取与解析 |
| nanoid | ^5.0.9 | 房间 ID 生成 |
| cors | ^2.8.5 | 跨域 |
| dotenv | ^16.4.5 | 环境变量 |
| zod | ^4.3.6 | 请求数据验证(配合 shared schemas) |
| pino | ^10.3.1 | 结构化日志 |
| rate-limiter-flexible | ^9.1.1 | 聊天限流 |
| @neteasecloudmusicapienhanced/api | ^4.30.1 | 网易云 QR 登录 / Cookie 验证 / 用户信息 |
| qrcode | ^1.5.4 | QR 码生成(酷狗扫码登录,API 仅返回 URL 需服务端转 base64 DataURL) |
| escape-html | ^1.0.3 | HTML 转义(防注入) |
| p-limit | ^7.3.0 | 并发控制(封面批量解析) |
| lru-cache | ^11.2.6 | LRU 缓存(musicProvider 外部 API 结果缓存) |
Shared 核心依赖
| 库 | 版本 | 用途 |
|---|---|---|
| @casl/ability | ^6.8.0 | RBAC 权限定义(前后端共用) |
| zod | ^4.3.6 | 数据验证 Schema |
开发工具
| 库 | 版本 | 包 | 用途 |
|---|---|---|---|
| vite | ^7.3.1 | client | 前端构建 |
| @vitejs/plugin-react | ^5.1.1 | client | Vite React 插件 |
| @tailwindcss/vite | ^4.1.18 | client | Vite Tailwind 插件 |
| typescript | ~5.9.3 | all | 类型系统 |
| tsx | ^4.19.0 | server | 服务端 TS 运行/热重载 |
| pino-pretty | ^13.1.3 | server | 开发环境日志美化 |
| eslint | ^9.39.1 | client | 代码检查 |
| eslint-plugin-react-hooks | ^7.0.1 | client | React Hooks 规则 |
| eslint-plugin-react-refresh | ^0.4.24 | client | React Fast Refresh 规则 |
| concurrently | ^9.2.1 | root | 并行运行前后端 |
| kill-port | ^2.0.1 | root | 端口清理 |