2023-07-12 23:38:42
RuoYi-Eggjs 是一个基于 Egg.js 框架开发的企业级 Node.js 后台管理系统,旨在为 Node.js 开发者提供与 Java 版若依(RuoYi-Vue)功能完全一致的解决方案,同时结合 Node.js 的轻量化和高效特性。
核心特性解析MyBatis XML 风格 SQL 支持
通过自研插件 ruoyi-eggjs-mybatis 实现业务逻辑与 SQL 的分离,支持在 XML 文件中编写动态 SQL。
优势:处理复杂查询时比传统 ORM 更灵活高效,降低学习成本(尤其对熟悉 MyBatis 的开发者)。
强大的全栈能力
多数据库支持:兼容 MySQL、PostgreSQL、SQLite,支持多数据源配置。
代码自动生成:内置 CLI 工具可基于 XML Mapper 自动生成 Service 层代码,提升开发效率。
内置内网穿透:集成 FRP 客户端,一键暴露本地服务到公网,便于远程调试和演示。
定时任务调度:基于 egg-bull 实现,支持分布式、失败重试、日志记录和可视化监控。
企业级安全与性能
权限控制:提供类似 Spring Boot @PreAuthorize 的权限装饰器,支持按钮级权限管理。
JWT 认证:基于 JWT 实现无状态用户认证,提升安全性。
多级缓存:支持内存、文件、Redis 等缓存策略,优化性能。
限流保护:内置 API 限流机制,防止恶意攻击。
极致的开发体验
TypeScript 友好:提供完整类型定义,IDE 智能提示提升编码效率。
路由注解:使用装饰器定义路由,代码结构更清晰简洁。
环境准备
安装 Node.js (≥20)、MySQL (≥5.7)、Redis。
获取项目
git clone数据库初始化
创建名为 ruoyi 的数据库,导入项目 sql/ 目录下的 SQL 脚本。
配置与启动
修改 config/config.local.js 中的数据库配置。
启动开发模式:
npm run dev访问
前端对接
将 RuoYi-Vue3 前端的 vite.config.js 中后端接口地址指向
RuoYi-Eggjs 为 Node.js 社区填补了企业级后台管理系统的空白,其核心优势在于 完全复用若依生态(如数据库结构、MyBatis XML 风格)的同时,结合 Node.js 的轻量化和高效特性。无论是从 Java 迁移还是新建项目,它都是一个值得尝试的成熟框架。
项目地址: