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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Koa的上层框架egg.js的学习

1.前置依赖安装
安装全局egg-init脚手架工具

$ npm i egg-init -g
复制代码
初始化egg-init脚手架 tpye = simple 简易的安装方式

$ egg-init --type=simple
复制代码
运行egg

$ npm run dev
复制代码
2.控制器用来配置接口逻辑(目录app->controller->home.js)
'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)
'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):
'use strict';
// "use strict" 的目的是指定代码在严格条件下执行。
module.exports = app => {
const { router, controller } = app;
router.get('/default/index', controller.default.home.index);
};
复制代码
4.使用egg-mysql组件来连接mysql数据库
$ npm i egg-mysql
复制代码
添加插件配置(目录server->config->plugin.js)
这个配置完,也就说明egg.js可以支持mysql数据库的使用和连接了。

exports.mysql = {
enable: true,
package: 'egg-mysql'
}
复制代码
添加数据库连接配置
// 放入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)
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或者设置默认 再不行百度吧(步骤比较复杂)。。

未完待续..

作者: Bill 本文地址: http://biaoblog.cn/info?id=1577068320000

版权声明: 本文为原创文章,版权归 biaoblog 个人博客 所有,欢迎分享本文,转载请保留出处,谢谢!

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8天前
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端框架
【10月更文挑战第34天】在数字化时代,后端开发如同一座桥梁,连接着用户界面与数据处理的两端。本文将通过Node.js这一轻量级、高效的平台,带领读者领略后端框架的魅力。我们将从基础概念出发,逐步深入到实战应用,最后探讨如何通过代码示例来巩固学习成果,使读者能够在理论与实践之间架起自己的桥梁。
|
1月前
|
JavaScript 前端开发 中间件
探索后端技术:Node.js与Express框架的完美融合
【10月更文挑战第7天】 在当今数字化时代,Web应用已成为日常生活不可或缺的一部分。本文将深入探讨后端技术的两大重要角色——Node.js和Express框架,分析它们如何通过其独特的特性和优势,为现代Web开发提供强大支持。我们将从Node.js的非阻塞I/O和事件驱动机制,到Express框架的简洁路由和中间件特性,全面解析它们的工作原理及应用场景。此外,本文还将分享一些实际开发中的小技巧,帮助你更有效地利用这些技术构建高效、可扩展的Web应用。无论你是刚入门的新手,还是经验丰富的开发者,相信这篇文章都能为你带来新的启发和思考。
|
1月前
|
JavaScript 前端开发 API
Vue.js:现代前端开发的强大框架
【10月更文挑战第11天】Vue.js:现代前端开发的强大框架
65 41
|
14天前
|
JavaScript 中间件 API
Node.js进阶:Koa框架下的RESTful API设计与实现
【10月更文挑战第28天】本文介绍了如何在Koa框架下设计与实现RESTful API。首先概述了Koa框架的特点,接着讲解了RESTful API的设计原则,包括无状态和统一接口。最后,通过一个简单的博客系统示例,详细展示了如何使用Koa和koa-router实现常见的CRUD操作,包括获取、创建、更新和删除文章。
35 4
|
1月前
|
JavaScript
js学习--制作猜数字
js学习--制作猜数字
37 4
js学习--制作猜数字
|
1月前
|
JavaScript
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
这篇文章介绍了如何将webpack的配置文件分离成开发环境和生产环境的配置文件,以提高打包效率。
46 1
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
|
21天前
|
Web App开发 JavaScript 中间件
构建高效后端服务:Node.js与Express框架的完美结合
【10月更文挑战第21天】本文将引导你走进Node.js和Express框架的世界,探索它们如何共同打造一个高效、可扩展的后端服务。通过深入浅出的解释和实际代码示例,我们将一起理解这一组合的魅力所在,并学习如何利用它们来构建现代Web应用。
41 1
|
1月前
|
设计模式 JavaScript 前端开发
浅谈JavaScript 框架在现代 Web 开发中的作用
浅谈JavaScript 框架在现代 Web 开发中的作用
38 12
|
10天前
|
Web App开发 JavaScript 前端开发
构建高效后端服务:Node.js与Express框架的实践
【10月更文挑战第33天】在数字化时代的浪潮中,后端服务的效率和可靠性成为企业竞争的关键。本文将深入探讨如何利用Node.js和Express框架构建高效且易于维护的后端服务。通过实践案例和代码示例,我们将揭示这一组合如何简化开发流程、优化性能,并提升用户体验。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和实用技巧。
|
11天前
|
Web App开发 JavaScript 中间件
构建高效后端服务:Node.js与Express框架的融合之道
【10月更文挑战第31天】在追求快速、灵活和高效的后端开发领域,Node.js与Express框架的结合如同咖啡遇见了奶油——完美融合。本文将带你探索这一组合如何让后端服务搭建变得既轻松又充满乐趣,同时确保你的应用能够以光速运行。
21 0