前言
首先介绍一下关于这篇文章的背景,在机缘巧合下在抖音刷到哲玄的直播,被他忽悠买下了他的课程进行学习,作为一个练习时长2年半的前端初级前端开发,我确实认知到自己的不足,引用哲玄大佬的话来说,当下的前端都面临2个核心问题:
- 大部分同学只会用vue、react来开发纯前端页面,几乎不了解工程化、架构设计、服务端开发、系统部署等相关知识,技术局限性非常大。
- 大部分同学的项目没什么重难点,大部分都是业务上的CRUD,个人技术很难从项目中得到成长。我觉得哲玄大佬这2点说到了我现在所面临的困境,为了摆脱这个初级,抱着试一试大不了浪费点钱的想法买下了哲玄的前端课程。目前来说我已经学完了第一个章节,值得一提这篇文章是我刚学完第一阶段的感想和总结,如果你也遇到和我相同的境遇,也想摆脱这种困境,我觉得你也可以试试学习这个课程,应该是不会亏的,目前来说,我觉得我学到了东西,至于是否亏了,你可以关注一下我以后的文章,每学习完一个阶段我都会将感想发表出来。下面是学习完第一阶段的一个总结知识。
整体架构图
后端技术栈
- 核心框架: Koa.js 2.7.0 - 轻量级的 Node.js Web 框架
- 模板引擎: Nunjucks - 用于服务端渲染
- 日志系统: Log4js
- 任务调度: node-schedule
- 开发工具: Nodemon (热重载)
项目架构
核心架构特点
- 自研框架核心 (elpis-core/):
- 实现了类似 Egg.js 的插件化加载机制
- 支持多环境配置 (local/beta/production)
- 自动加载 Controller、Service、Middleware、Router 等模块
MVC 分层架构:
- Controller: 处理 HTTP 请求和响应
- Service: 业务逻辑层
- Router: 路由配置
- Middleware: 中间件处理
模块化设计:
- 支持路由参数验证 (router-schema)
- 统一的错误处理机制
- API 签名验证中间件
- 扩展机制支持
目录结构
├── elpis-core/ # 框架核心
│ ├── loader/ # 模块加载器
│ └── index.js # 框架入口
├── app/ # 业务代码
│ ├── controller/ # 控制器
│ ├── service/ # 服务层
│ ├── router/ # 路由配置
│ ├── middleware/ # 中间件
│ ├── extend/ # 扩展
│ └── public/ # 静态资源
├── config/ # 配置文件
└── package.json # 项目配置
主要功能特性
1. 多环境支持
- 本地开发环境 (local)
- 测试环境 (beta)
- 生产环境 (production)
2. 安全特性
- API 签名验证机制
- JWT 身份认证
- 参数校验中间件
- 错误统一处理
3. 开发体验
- 热重载开发模式
- ESLint 代码规范检查
- Git hooks 集成
- 模块化的项目结构
项目特色
- 自研框架: 基于 Koa.js 构建了自己的企业级框架,具有良好的扩展性
- 企业级特性: 包含完整的日志、错误处理、安全验证等企业应用必需功能
- 现代化技术栈: 采用了 Vue 3、Webpack 5 等现代前端技术
- 开发友好: 提供了完整的开发工具链和规范
适用场景
这个项目适合用于构建中小型企业级 Web 应用,特别是需要快速开发、具有一定安全要求的业务系统。框架的设计使得开发者可以专注于业务逻辑的实现,而不需要过多关注底层架构问题。