node-egg的使用
------------恢复内容开始------------
快速初始化:
mkdir egg-example //创建对应文件夹
cd egg-example //跳转至该文件夹下
npm init egg --type=simple // 安装
npm i //初始化
启动:npm run dev //默认地址 http://localhost:7001
目录结构:
路由:
路由完整定义主要包括5个主要部分:
- verb - 用户触发动作,支持 get,post 等所有 HTTP 方法,后面会通过示例详细说明。
- router.head - HEAD
- router.options - OPTIONS
- router.get - GET
- router.put - PUT
- router.post - POST
- router.patch - PATCH
- router.delete - DELETE
- router.del - 由于 delete 是一个保留字,所以提供了一个 delete 方法的别名。
- router.redirect - 可以对 URL 进行重定向处理,比如我们最经常使用的可以把用户访问的根目录路由到某个主页。
- router-name 给路由设定一个别名,可以通过 Helper 提供的辅助函数
pathFor
和urlFor
来生成 URL。(可选) - path-match - 路由 URL 路径。
- middleware1 - 在 Router 里面可以配置多个 Middleware。(可选)
- controller - 指定路由映射到的具体的 controller 上,controller 可以有两种写法:
app.controller.user.fetch
- 直接指定一个具体的 controller'user.fetch'
- 可以简写为字符串形式
注意事项
- 在 Router 定义中, 可以支持多个 Middleware 串联执行
- Controller 必须定义在
app/controller
目录中。 - 一个文件里面也可以包含多个 Controller 定义,在定义路由的时候,可以通过
${fileName}.${functionName}
的方式指定对应的 Controller。 - Controller 支持子目录,在定义路由的时候,可以通过
${directoryName}.${fileName}.${functionName}
的方式制定对应的 Controller。
下面是一些路由定义的方式:
注意:
此些输入post请求才能拿到参数不写会报错
mySql:
安装对应的插件 egg-mysql :
命令 npm i --save egg-mysql
使用方法:
本次总结到此结束
------------恢复内容结束------------