eggjs特点

Eggjs基于 nodejs和 koajs的企业级应用框架,降低开发成本和维护成本

  1. 基于Koajs的框架,继承了Koajs的高性能优点
    1. eggjs 基于 koa的二次封装
    2. midway 基于 eggjs的二次封装
  2. 有express不能替代的优势
  3. 加入了一些约束与开发规范,避免Koajs框架本身的开发自由度太高
  4. 实现 MVC分层,约定大于配置”的原则
  5. 插件机制
  6. Node 不是构建大型 Web 服务器的最佳选择,建议使用 Go 来实现
  7. Node 并不是最好的服务器端语言,推荐 golang

image.png

eggjs资源

eggjs中文文档 https://eggjs.org/zh-cn/intro/quickstart.html
aliyun-egg https://github.com/eggjs/aliyun-egg
egg资源 https://github.com/eggjs/awesome-egg

https://zhuanlan.zhihu.com/p/111599642
https://www.jianshu.com/p/bb8ac7db7e2d
https://mp.weixin.qq.com/s/IYddaaw2ps1wR2VT1dZWPg
https://juejin.cn/search?query=eggjs
https://juejin.cn/post/7006878049941585934
https://juejin.cn/post/6844904063746703367
https://juejin.cn/post/6995063516470198279
https://juejin.cn/post/6961266180678123534
https://juejin.cn/post/7007212688866541576
https://juejin.cn/post/6945650734117421069
https://juejin.cn/post/7024011415144890405

eggjs框架对比

image.png

企业级应用的特点

  1. RESTful API开发
    1. Graphql
  2. 数据存储
    1. egg-sequelize
  3. SSO登录
  4. 线上部署
  5. 日志分析
    1. log4j

1 功能完善

  1. 路由配置
  2. controller层
    1. service服务层
    2. view视图层
    3. mysql的操作,数据层连接
    4. http的封装
    5. 安全性的要求
  3. middleware中间件
    1. 静态资源中间件
    2. 模板引擎
  4. 国际化
  5. 计划任务
  6. 多进程管理
  7. RPC远程接口服务
  8. 集成mysql
    1. sequellze持久化工具
    2. restful API

2 规范性高

  1. 项目架构
  2. 单元测试,测试覆盖率高
  3. 日志输出
  4. 服务器部署和运维
    1. 运行环境

3 plugin插件机制

  1. 自定义插件和框架
  2. 扩展工具方法
  3. eslint代码规范
  4. 框架的定制能力,可扩展的插件机制

4 渐进式开发

渐进式开发,便于扩展升级