第六天后端学习——创建一个egg项目、egg框架的大概了解

203 阅读2分钟

下载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框架:

image.png

egg框架:

app:项目开发目录

config:项目配置文件

logs:日志文件

run:项目进行配置文件

test:测试文件

package.json:项目配置文件,管理项目模块等元数据

app文件:

image.png

router.js:配置路由

controller:存放控制器

public:存放静态资源css、img、js

app文件

router.js文件中路由的核心用法:

网络请求时, 后端的处理顺序: 静态文件>路由匹配(按照顺序匹配,所以一定要将注册星号路由/*放在最后)

注册路由:router.get("url",controller.home.index)

image.png

路由重定向:

  • 内部重定向:routere.redirect("url1","url2",302) 访问url1跳转到url2页面。

image.png

  • 外部重定向:this.ctx.redirect('/news')

image.png

image.png

注意:注册路由时,路由名不要跟静态文件名冲突,不然会优先访问静态资源。

controller文件

存在的意义:是一个控制器,负责解析用户的输入,处理后返回相应的结果(根据用户访问不同的网址,渲染不同的模板得到html返回给用户)

使用方法:async 函数名(){this.ctx.body=返回的数据}

ctx:context上下文对象

this.ctx:是controller提供的功能,主要是使用它提供的:给前端发送数据,访问插件功能

body:数据包的响应体

this.ctx.body:只会执行一次,就会断开链接(就和res.end()一样的),在这里,如果给body设置了一个值,它会自动监听,如果body的值发生了变化,它就会去调end,将数据发送给前端。

补充:上下文对象:有一个对象,承上启下,有一层底层代码写了很多功能,封装到一个上层对象中,上层语言调用上层对象的功能,就可以操作底层语言设计的功能。

底层语言不一定是c语言、c++,就有可能是js语言,主要是通过业务区分。

image.png