小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
本文已参与 「掘力星计划」 ,赢取创作大礼包,挑战创作激励金。
A journey of a thousand miles begins with single step
持续更新中...
系列文章传送门:
- Egg 入门基础知识 Egg 介绍与项目创建
- Egg 入门基础知识 Egg 项目目录与控制器
目录结构
主要关注 app
、 config
、 tets
即可
egg-project
├─ .autod.conf.js
├─ .eslintignore
├─ .eslintrc
├─ .github
│ └─ workflows
│ └─ nodejs.yml
├─ .gitignore
├─ .travis.yml
├─ app // 主要工作目录类似 vue中共的src
│ ├─ controller // 控制器 用于解析用户的输入,处理后返回相应的结果
│ │ └─ home.js
│ ├─ public // 用于放置静态资源,可选
│ └─ router.js //用于配置 URL 路由规则
├─ appveyor.yml
├─ config // 配置目录
│ ├─ config.default.js // 用于编写配置文件
│ └─ plugin.js // 用于配置需要加载的插件
├─ jsconfig.json
├─ package.json
├─ README.md
└─ test // 用于单元测试
└─ app
└─ controller
└─ home.test.js
新建页面
-
在
app/controller/home.js
中index
结束后,添加如下代码async vience() { const { ctx } = this; ctx.body = '<p> this is a new page </p>'; }
-
在
app/router.js
中第8行后面配置上面方法的路由地址router.get('/vience', controller.home.vience);
-
效果
Controller
控制器
-
Router 主要用来描述请求 URL 和具体承担执行动作的 Controller 的对应关系, 框架约定了
app/router.js
文件用于统一所有路由规则。 -
代码编写
在
app/controller
下新建product.js
文件const Controller = require('egg').Controller; class PorductController extends Controller { async index() { const { ctx } = this; ctx.body = 'product page'; } } module.exports = PorductController;
在
app/router.js
中添加router.get('/product', controller.product.index);
项目代码
写在最后
关注我,更多内容持续输出
🌹 喜欢就点个赞吧👍🌹
🌹 觉得有收获的,可以来一波 收藏+关注,以免你下次找不到我😁🌹
🌹欢迎大家留言交流,批评指正,
转发
请注明出处,谢谢支持!🌹