elpis 是一个面向企业级后台/中台场景的 TypeScript 全栈应用框架,当前 HTTP 内核已从 Koa 迁移到 NestJS,前端构建使用 Vite。它提供服务端启动、前端构建、页面模板、配置化 dashboard/schema 页面、业务模块扫描注入等能力,适合作为内部业务系统、管理后台、低代码/配置化 CRUD 平台的基础框架。仓库星标约 420,但 fork 较少,README 显示仍处于较强演进阶段,适合有一定 NestJS、Vite、Node.js 工程化经验的团队评估使用。
适用领域
企业级全栈框架 / 后台管理系统 / 中后台低代码 / Schema 驱动页面 / NestJS 服务端框架 / Vite 前端构建 / 配置化 CRUD / 内部工具平台
配置难度
中高。对于熟悉 NestJS、Vite、TypeScript、后台管理系统和 schema 配置的开发者,上手难度中等;对于普通前端或后端开发者,由于涉及双端框架、模块扫描、模板构建、schema 驱动页面和业务仓约定,理解和落地成本较高。
商业价值
适合用作企业内部中后台系统的基础框架,可以通过配置化 schema 降低重复 CRUD 页面开发成本,并通过 Nest Module 提升后端业务扩展的规范性。对于已有多个管理后台、希望统一技术栈和页面模型的团队,价值较高。但在正式商用前,需要重点评估许可证、文档完整度、生态成熟度、维护频率以及与现有业务架构的适配成本。
01
技术亮点
- 已迁移到 NestJS,服务端模块化能力比 Koa loader 更清晰
- 对外 API 保持 serverStart() / frontendBuild() 签名不变,有利于旧项目迁移
- 保留 8080 监听、API 路径、返回格式、cookie 行为等兼容性设计
- 前端构建切换为 Vite,开发体验和构建速度更现代
- 支持业务 Module 通过 dist/modules/**/*.module.js 扫描注入,适合插件化业务扩展
- 内置 dashboard、schema-view、custom-view、iframe、sider 等多种后台页面模式
- schema 配置较完整,覆盖 table、search-bar、createForm、editForm、detailPanel 等典型 CRUD 场景
- README 提供了目录结构、安装方式、本地联调、生产构建、model 配置示例等信息
- 仓库包含 sdd 设计文档和 test 回归测试目录,说明有一定工程化规划
- app/ai 目录提到 Agent、MCP、RAG、Skill、Guardrail 等 Part3 能力,后续可能扩展 AI 应用框架能力
02
目标用户
- 需要快速搭建企业内部管理后台的前端/全栈团队
- 熟悉 Node.js、NestJS、Vite 的中高级开发者
- 希望通过 schema 配置生成表格、搜索、表单、详情页的业务团队
- 需要从旧 Koa 架构迁移到 NestJS 模块化架构的项目维护者
- 希望构建自有低代码/配置化页面平台的研发团队
03
配置要求
- 需要 Node.js 与 npm 环境,具体版本 README 未明确说明,建议查看 package.json 约束
- 需要先执行 npm install 安装依赖
- 框架源码修改后需要重新 npm run build 或保持 npm run build:watch
- dist 目录不提交,需要本地构建生成
- 本地私有配置可使用 config.local.js,该文件被 gitignore 忽略
- 业务仓需要按照框架约定组织 app/modules,并编译到 dist/modules/**/*.module.js 供框架扫描注入
- 默认 Nest 服务监听 8080,Vite Dev Server 监听 9002
- 前端生产构建产物默认写入 app/public/dist/prod,并生成 entry.*.tpl
- model 配置需要声明 mode、menu、moduleType、schemaConfig、tableConfig、searchConfig、componentConfig 等结构
- schema 视图依赖 RESTful API、字段 schema、表格按钮、行按钮、动态组件配置等约定
- 如需扩展 schema-form 或 search-bar 控件,需要在约定目录新增组件并更新对应 config 文件
04
适用场景
- 搭建企业内部 dashboard、运营后台、管理平台
- 通过 model/schema 配置生成表格、搜索栏、创建表单、编辑表单、详情面板
- 将业务模块以 Nest Module 方式扩展并注入框架
- 开发 iframe/custom/schema/sider 等多种类型的后台页面
- 本地使用 Vite Dev Server 进行前端 HMR 开发,同时由 Nest 服务渲染模板
- 构建生产环境前端资源并由 Nest 8080 服务读取静态产物
- 作为 elpis-demo 等业务仓的底层框架依赖
05
部署与配置
- 克隆框架仓库:git clone git@github.com:fsiaonma/elpis.git
- 进入目录:cd elpis
- 安装依赖:npm install
- 编译 Nest 产物:npm run build,生成 dist/,因为 index.js 依赖 dist/main.js
- 开发框架源码时可运行:npm run build:watch
- 在业务项目中安装:npm install @fsiaonma/elpis
- 如果 npm 包未发布,可在业务仓 package.json 中通过 Git 依赖方式安装
- 本地联调可在框架仓执行 npm link,再在业务仓执行 npm link @fsiaonma/elpis
- 开发模式通常需要双终端:业务仓运行 npm run build:dev 启动 Vite :9002,另一个终端运行 npm run dev 启动 Nest :8080
- 生产构建:业务仓运行 npm run build:prod,再运行 npm run prod
06
风险与注意事项
- license 为空,商用或二次分发前需要确认授权许可
- README 中大量内容是迁移说明和内部约定,对新用户而言学习成本较高
- fork 数很少,社区活跃度和外部采用情况可能有限
- 包是否已稳定发布到 npm 不明确,README 提到未发布时可用 Git 依赖
- 框架与 elpis-demo 等业务仓耦合较强,单独上手可能需要参考 demo 项目
- schema 配置结构复杂,缺少更系统的 API 文档、类型文档和最佳实践示例
- README 未明确 Node.js 版本、数据库配置、部署方式、安全策略等关键信息
- dist 不提交且 index.js 依赖 dist/main.js,新用户若忘记 build 会启动失败
- 迁移到 NestJS 后仍强调与 1.0 行为兼容,内部实现可能存在历史包袱
- app/ai 相关能力仅在目录说明中出现,成熟度和可用性需要进一步验证
2026-10-01
第27名
新收录 · github_search