下载egg框架:
- 1.创建一个空文件夹
- 2.在cmd.exe中输入npm init egg --type=simple进行egg项目初始化
- 3.创建完后,输入npm install进行安装项目依赖
- 4.最后npm run dev进行启动项目
- 网址 : http://127.0.0.1:7001
了解egg框架:
完整的egg框架:
egg框架:
app:项目开发目录
config:项目配置文件
logs:日志文件
run:项目进行配置文件
test:测试文件
package.json:项目配置文件,管理项目模块等元数据
app文件:
router.js:配置路由
controller:存放控制器
public:存放静态资源css、img、js
app文件
router.js文件中路由的核心用法:
网络请求时, 后端的处理顺序: 静态文件>路由匹配(按照顺序匹配,所以一定要将注册星号路由/*放在最后)
注册路由:router.get("url",controller.home.index)
路由重定向:
- 内部重定向:routere.redirect("url1","url2",302) 访问url1跳转到url2页面。
- 外部重定向:this.ctx.redirect('/news')
注意:注册路由时,路由名不要跟静态文件名冲突,不然会优先访问静态资源。
controller文件
存在的意义:是一个控制器,负责解析用户的输入,处理后返回相应的结果(根据用户访问不同的网址,渲染不同的模板得到html返回给用户)
使用方法:async 函数名(){this.ctx.body=返回的数据}
ctx:context上下文对象
this.ctx:是controller提供的功能,主要是使用它提供的:给前端发送数据,访问插件功能
body:数据包的响应体
this.ctx.body:只会执行一次,就会断开链接(就和res.end()一样的),在这里,如果给body设置了一个值,它会自动监听,如果body的值发生了变化,它就会去调end,将数据发送给前端。
补充:上下文对象:有一个对象,承上启下,有一层底层代码写了很多功能,封装到一个上层对象中,上层语言调用上层对象的功能,就可以操作底层语言设计的功能。
底层语言不一定是c语言、c++,就有可能是js语言,主要是通过业务区分。