首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Koa的上层框架egg.js的学习

Koa的上层框架egg.js的学习

作者头像
biaoblog.cn 个人博客
发布2022-08-11 19:03:21
发布2022-08-11 19:03:21
64500
代码可运行
举报
运行总次数:0
代码可运行

1.前置依赖安装

安装全局egg-init脚手架工具

代码语言:javascript
代码运行次数:0
运行
复制
$ npm i egg-init -g

初始化egg-init脚手架 tpye = simple 简易的安装方式

代码语言:javascript
代码运行次数:0
运行
复制
$ egg-init --type=simple

运行egg

代码语言:javascript
代码运行次数:0
运行
复制
$ npm run dev

2.控制器用来配置接口逻辑(目录app->controller->home.js)

代码语言:javascript
代码运行次数:0
运行
复制
'use strict';
const Controller = require('egg').Controller;
class HomeController extends Controller {
  // 设置路径 并在router文件中配置路由
  async index() {
    const { ctx } = this;
    ctx.body = '前台api地址';
  }
  async list() {
    const { ctx } = this;
    ctx.body = 'hi, list';
  }
}
module.exports = HomeController;

// RESTful 接口设计风格 简单和约束性

// 约束性:请求方式 get(获取数据) post(新建资源) put(修改资源) delete(删除资源)

3.配置根路由(目录app->router.js)

代码语言:javascript
代码运行次数:0
运行
复制
'use strict';
/**
 * @param {Egg.Application} app - egg application
 */
// 配置路由 因为路由分为前台(default)和后台(admin) 并建立了独立的文件夹
// 所以在这里使用require引用子路由即可
module.exports = app => {
  const { router, controller } = app;
  // controller需要指定到文件下面的方法
  router.get('/', controller.home.index);
  // 调用这个方法并把app传递过去
  require('./router/default')(app);
};

配置子路由default(目录app->router->default.js):

代码语言:javascript
代码运行次数:0
运行
复制
'use strict';
// "use strict" 的目的是指定代码在严格条件下执行。
module.exports = app => {
  const { router, controller } = app;
  router.get('/default/index', controller.default.home.index);
};

4.使用egg-mysql组件来连接mysql数据库

代码语言:javascript
代码运行次数:0
运行
复制
$ npm i egg-mysql

添加插件配置(目录server->config->plugin.js)

这个配置完,也就说明egg.js可以支持mysql数据库的使用和连接了。

代码语言:javascript
代码运行次数:0
运行
复制
exports.mysql = {
enable: true,
package: 'egg-mysql'
}

添加数据库连接配置

代码语言:javascript
代码运行次数:0
运行
复制
  // 放入mysql-simple配置 在https://www.npmjs.com/package/egg-mysql 能找到。
  // config 的写法是因为return 的是config的解构
  config.mysql = {
    // database configuration
    client: {
      // host
      host: 'localhost',
      // port
      port: '3306',
      // username
      user: 'root',
      // password
      password: '123456',
      // database
      database: 'react_blog',
    },
    // load into app, default is open
    app: true,
    // load into agent, default is close
    agent: false,
  };

获取mySql数据库中的数据(目录app->controller->home.js)

代码语言:javascript
代码运行次数:0
运行
复制
class HomeController extends Controller {
  // 设置路径 并在router文件中配置路由
  async index() {
    // 获取用户表的数据 使用this.app.mysql.get('表名字',{}) 来获取
    const result = await this.app.mysql.get('blog_content', {});
    console.log(result);
    this.ctx.body = result;
  }
}

5.下载集成PHPStudy、开启MySql和建立数据库表格字段。

phpStudy下载地址:https://www.xp.cn

开启mySql后下载phpStudy环境中的数据库工具(客户端)登入并建立库、表、字段(工具栏有图标可以点)。

如果mySql无法开启,可以尝试切换端口3307或者设置默认 再不行百度吧(步骤比较复杂)。。

未完待续..

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.前置依赖安装
  • 2.控制器用来配置接口逻辑(目录app->controller->home.js)
  • 3.配置根路由(目录app->router.js)
  • 配置子路由default(目录app->router->default.js):
  • 4.使用egg-mysql组件来连接mysql数据库
  • 添加插件配置(目录server->config->plugin.js)
  • 添加数据库连接配置
  • 获取mySql数据库中的数据(目录app->controller->home.js)
  • 5.下载集成PHPStudy、开启MySql和建立数据库表格字段。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档