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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 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
相关文章
|
16天前
|
JavaScript 前端开发 关系型数据库
如何学习 Node.js?
【8月更文挑战第4天】如何学习 Node.js?
26 3
|
5天前
|
JavaScript 前端开发
Javascript学习
Javascript学习
|
7天前
|
JavaScript 前端开发 数据可视化
图像裁剪库Cropper.js的学习使用
图像裁剪库Cropper.js的学习使用
26 4
|
8天前
|
存储 JavaScript 前端开发
js对象学习
js对象学习
14 1
|
8天前
|
JavaScript 前端开发
Javascript学习
Javascript学习
18 1
|
18天前
|
存储 缓存 JavaScript
构建高效后端服务:Node.js与Express框架的实战应用
【8月更文挑战第2天】在数字化时代的浪潮中,后端服务的构建成为了软件开发的核心。本文将深入探讨如何利用Node.js和Express框架搭建一个高效、可扩展的后端服务。我们将通过实际代码示例,展示从零开始创建一个RESTful API的全过程,包括路由设置、中间件使用以及数据库连接等关键步骤。此外,文章还将触及性能优化和安全性考量,旨在为读者提供一套完整的后端开发解决方案。让我们一同走进Node.js和Express的世界,探索它们如何助力现代Web应用的开发。
|
16天前
|
JavaScript 前端开发 测试技术
Node.js新手框架推荐
【8月更文挑战第4天】Node.js新手框架推荐
26 3
|
16天前
|
弹性计算 JavaScript 中间件
构建高效后端服务:使用Node.js和Express框架
【8月更文挑战第4天】本文将通过一个实际案例,详细介绍如何使用Node.js和Express框架快速构建一个高效、可扩展的后端服务。我们将从项目初始化开始,逐步实现RESTful API接口,并介绍如何利用中间件优化请求处理流程。最后,我们将展示如何部署应用到云服务器上,确保其高可用性和可扩展性。
|
19天前
|
开发框架 前端开发 JavaScript
在基于ABP框架的前端项目Vue&Element项目中采用日期格式处理,对比Moment.js和day.js的处理
在基于ABP框架的前端项目Vue&Element项目中采用日期格式处理,对比Moment.js和day.js的处理
|
23天前
|
缓存 JavaScript 前端开发
JavaScript框架中的性能优化策略
【7月更文挑战第27天】JavaScript框架中的性能优化是一个持续的过程,需要开发者在开发过程中不断关注和改进。通过代码优化、DOM操作优化、缓存机制、异步处理以及使用性能分析工具等策略,可以显著提升应用的性能,提升用户体验。在实际开发中,开发者应根据应用的具体需求和性能瓶颈选择合适的优化策略,以实现最佳的优化效果。

热门文章

最新文章