这是我参与「第四届青训营 」笔记创作活动的的第5天
Egg.js 是阿里旗下产品
Eggjs继承了Koajs的高性能优点,但是补充了约束与开发规范,来规避Koajs框架本身的开发自由度太高的问题。
- 基于Node.js 和Koa
- 是一个Nodejs 的企业级应用开发框架
- 可以帮助发团队和开发人员降低开发和维护成本
- 提供基于 Egg 定制上层框架的能力
- 高度可扩展的插件机制
- 内置多进程管理
- 框架稳定,测试覆盖率高
- 渐进式开发
- 容易上手,相对简洁,很多初学者可以跳过koa直接从Node.js过渡到Egg.js
Egg项目生成方法
npm i egg-init -g
egg-init egg-example --type=simple (这个地方可以是不同种类的,egg总计有4种)
cd egg-example
npm i
npm run dev
open localhost:7001
npm i egg-view-nunjucks --save
同时需要启用来完成渲染
// config/plugin.js
exports.nunjucks = {
enable: true,
package: 'egg-view-nunjucks',
};
项目结构
app/router.js 用于配置 URL 路由规则
app/controller/ 用于解析用户的输入,处理后返回相应的结果
app/service/ 用于编写业务逻辑层
app/middleware 用于编写中间件
app/public/ 用于放置静态资源
app/extend/ 用于框架的扩展
config/config.{env}.js 用于编写配置文件
config/plugin.js 用于配置需要加载的插件
test/ 用于单元测试
app.js 和 agent.js 用于自定义启动时的初始化工作
Egg的中间件
上图为中间件的洋葱模型
为什么要用中间件
对于具有多云和容器化环境的企业而言,中间件可以助您大规模、经济高效地开发和运行应用
中间件有哪些层
容器层
运行时层
集成层
流程自动化和决策管理层
工具
除了上述四层中间件之外,还有相应的应用开发工具。它允许团队使用预设的模板和容器来构建应用,并促进了有效的代码共享和联合开发。这些工具可在本地和云端提供连贯一致的应用开发和交付体验。