Egg.js 极简入门概览
-
Egg.js 简介与框架特点
-
安装与环境搭建
-
项目结构与约定
-
路由与控制器(Controller)
-
服务(Service)
-
实现一个简单的 TodoList 增删改查小程序
Egg.js 是一个基于 Node.js 的企业级 Web 开发框架,由阿里巴巴团队开发。它旨在解决大型企业级应用的开发、部署和维护问题。Egg.js 的主要特点如下:
-
约定优于配置:Egg.js 强调约定优于配置的原则,提供了一套统一的约定和规范,使得开发人员能够更专注于业务逻辑,而不是配置细节。
-
插件机制:Egg.js 支持丰富的插件机制,允许开发人员通过编写或引用插件来扩展框架的功能。这有助于实现代码的模块化和重用,提高开发效率。
-
渐进式开发:Egg.js 鼓励渐进式开发,允许开发人员逐步构建和优化应用程序,而不是从头开始。这使得 Egg.js 适用于各种规模的应用程序开发。
-
基于 Koa:Egg.js 基于 Koa,一个轻量级、高性能的 Node.js Web 框架。这使得 Egg.js 继承了 Koa 的优点,并在其基础上进行了扩展。
- 安装与环境搭建:
首先,确保您已经安装了 Node.js(建议使用 LTS 版本)和 npm(Node.js 包管理器)。
接下来,全局安装 Egg.js 脚手架工具 egg-init,以便轻松创建新项目:
npm install -g egg-init
使用 egg-init 创建一个新项目:
egg-init my-egg-app --type=simple
进入项目目录并安装依赖:
cd my-egg-app
npm install
现在,您可以使用以下命令启动项目:
npm run dev
浏览器访问 http://localhost:7001
,您将看到 Egg.js 的欢迎页面。
- 项目结构与约定:
Egg.js 采用一种约定优于配置的方法,规定了项目的目录结构和文件命名。以下是一个典型的Egg.js 项目结构:
my-egg-app
├── app
│ ├── controller // 控制器目录,用于处理客户端请求和返回响应
│ ├── service // 服务目录,用于封装业务逻辑和数据操作
│ ├── middleware // 中间件目录,用于处理 HTTP 请求和响应的前后逻辑
│ ├── model // 模型目录,用于定义数据模型和数据库操作
│ ├── public // 公共资源目录(静态文件),如样式、脚本、图片等
│ ├── view // 视图目录,用于存放模板文件(如果使用了模板引擎)
│ ├── extend // 扩展目录,用于自定义框架或应用的扩展功能
│ ├── router.js // 路由配置文件,定义 URL 和控制器之间的映射关系
│ └── ...
├── config
│ ├── config.default.js // 默认配置文件,用于存放通用的配置信息
│ ├── config.prod.js // 生产环境配置文件,用于覆盖默认配置中生产环境的设置
│ ├── config.test.js // 测试环境配置文件,用于覆盖默认配置中测试环境的设置
│ ├── config.local.js // 本地开发环境配置文件,用于覆盖默认配置中本地开发环境的设置
│ ├── plugin.js // 插件配置文件,用于启用和配置插件
│ └── ...
├── test // 测试目录,用于存放测试用例和相关工具
│ ├── app
│ ├── config
│ └── ...
├── .gitignore // Git 忽略文件配置
├── .eslintignore // ESLint 忽略文件配置
├── .eslintrc // ESLint 配置文件
├── .prettierignore // Prettier 忽略文件配置
├── .prettierrc // Prettier 配置文件
├── package.json // 项目描述和依赖管理文件
├── README.md // 项目说明文档
└── ...