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); 复制代码
作者:tangxd3
链接:https://juejin.cn/post/7020205909385150500