原则:约定大于配置
一、Egg.js项目规范
1、安装
npm init egg --type=simple
npm install // 安装依赖
2、目录
大致介绍下目录各个文件夹的作用:
- app/controller 用于解析用户的输入,处理返回相应的结果
- app/router.js 用于配置URL路由规则
- app/service 用于编写业务逻辑层
- app/public 用于放置静态资源
- app/extend 用于框架的扩展
- config/config 用于配置文件
- config/plugin.js 用于配置需要加载的插件
- app.js 用于自定义启动时的初始化工作
二、用Egg.js来实现一个接口服务
需求描述:连接mysql数据库,查询数据库里的数据并且可以提供一个http接口
这里想学习下docker的使用方法,所以选用docker来安装mysql
- 首先要安装docker
macOS不容易报错的方式是手动下载安装
下载dmg文件,双击打开安装程序,将Docker图标拖到Application文件夹中。双击Docker.app Applications文件夹已启动Docker。
-
使用Docker安装Mysql
1、下载Mysql镜像 docker pull mysql:5.6 2、启动 并设置root的初始密码为123456 docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
-
安装Mysql可视化工具Sequel Pro
Sequel Pro是一款管理Mysql的工具,可以一次性连接多个数据库
首先下载:sequelpro.com/download, 点击下载按钮,解压,点击下面图标,就可以直接启动了,最后需要将这个图标移动到Application应用中。
启动后会有如下界面,Host输入自己笔记本电脑的主机IP,Username默认是root,Password是自己设置的123456,Port默认是3306,其他的可以不用填写,点击connect就可以了。
成功后,会到主页面,
其中,Structure --- 查看该数据库中表的结构,Content --- 查看该数据库中表的内容,Relations --- 查看表之间的关系,Query --- 用命令操作数据库。
点击左下侧加号新建一个table,点击Query快速利用语句建立数据库信息
点击Run All Queries执行语句,完成建表,如果有现成的sql文件,也可以右键点击表名称,点击import。
-
连接数据库
-
使用npm安装mysql插件egg-mysql
npm i --save egg-mysql // 安装对应mysql插件
修改Egg模板文件, config的config.default.js中
实现接口的路由
实现user service,新增一个searchAll和find方法
新增user controller,添加list和find方法
最后进行验证,打开http://127.0.0.1:7001/user/list进行验证