下载:
官网:https://eggjs.org/zh-cn/intro/quickstart.html
$ mkdir egg-example && cd egg-example 创建文件夹 $ npm init egg --type=simple $ npm i $ npm run dev
文件内容:
app -> controller -> .js文件 页面显示的
'use strict'; //必写 不能写错 const Controller = require('egg').Controller; //必写 不能写错 class UsersController extends Controller { //使用 async await async index() { const data = await this.ctx.service.js文件.函数(传参); this.ctx.body = data;//页面显示 } } //导出,这和react有些相似 但又有些不同 module.exports = UsersController;
app->service->.js文件 与数据库对接(进行操作)
// app/service/user.js 'use strict'; const Service = require('egg').Service; //这个和上一个就有所不同 class UsersService extends Service { // 查所有的 定义方法 async findAll(ctx) { //数据库查询表的语法 const user = await this.app.mysql.get('数据源名字,单一数据源可以不写').方法名('users'); return { user };//必须返回 } } module.exports = UsersService;
app -> router 定义路由名称和与之对应的文件
'use strict';
/** 写接口的
* @param {Egg.Application} app - egg application
*/
module.exports = app => {
const { router, controller } = app;
router.get('/', controller.home.index);
//路由 --> controller --> 数据库
//路由的名字,网址,controller对接数据库
//除了这个以外上面都是自带的,最好别动,可以设置多个
router.resources('users', '/users', controller.users);
};
config -> config.default.js 数据源的
在21左右开始插入 config.mysql = { clients: { // clientId, 获取client实例,需要通过 app.mysql.get('clientId') 获取 db1: { // host host: '127.0.0.1', // 端口号 port: '3306', // 用户名 user: 'root', // 密码 password: '******', // 数据库名(不是表) database: '数据库名', }, db2: { // host host: '127.0.0.1', // 端口号 port: '3306', // 用户名 user: 'root', // 密码 password: '******', // 数据库名 database: '数据库名', }, // 所有数据库配置的默认值 default: { }, // 是否加载到 app 上,默认开启 app: true, // 是否加载到 agent 上,默认关闭 agent: false, };