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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
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 个人博客 所有,欢迎分享本文,转载请保留出处,谢谢!

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
5月前
|
前端开发 JavaScript
个人征信电子版无痕修改, 个人信用报告pdf修改,js+html+css即可实现【仅供学习用途】
本代码展示了一个信用知识学习系统的前端实现,包含评分计算、因素分析和建议生成功能。所有数据均为模拟生成
|
7月前
|
JavaScript 前端开发 API
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端框架
【10月更文挑战第34天】在数字化时代,后端开发如同一座桥梁,连接着用户界面与数据处理的两端。本文将通过Node.js这一轻量级、高效的平台,带领读者领略后端框架的魅力。我们将从基础概念出发,逐步深入到实战应用,最后探讨如何通过代码示例来巩固学习成果,使读者能够在理论与实践之间架起自己的桥梁。
|
5月前
|
前端开发
个人征信PDF无痕修改软件,个人征信模板可编辑,个人征信报告p图神器【js+html+css仅供学习用途】
这是一款信用知识学习系统,旨在帮助用户了解征信基本概念、信用评分计算原理及信用行为影响。系统通过模拟数据生成信用报告,涵盖还款记录
|
6月前
|
JavaScript 数据可视化 前端开发
three.js简单实现一个3D三角函数学习理解
1.Three.js简介 Three.js是一个基于JavaScript编写的开源3D图形库,利用WebGL技术在网页上渲染3D图形。它提供了许多高级功能,如几何体、纹理、光照、阴影等,以便开发者能够快速地创建复杂且逼真的3D场景。同时,Three.js还具有很好的跨平台和跨浏览器兼容性,让用户无需安装任何插件就可以在现代浏览器上观看3D内容。
230 0
|
11月前
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
2849 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
|
JavaScript 前端开发 API
Vue.js:现代前端开发的强大框架
【10月更文挑战第11天】Vue.js:现代前端开发的强大框架
374 41
|
缓存 监控 JavaScript
Vue.js 框架下的性能优化策略与实践
Vue.js 框架下的性能优化策略与实践
|
Web App开发 JavaScript 前端开发
如何学习JavaScript?
如何学习JavaScript?
246 5

热门文章

最新文章

下一篇
oss云网关配置