安装全局egg-init脚手架工具
$ npm i egg-init -g
初始化egg-init脚手架 tpye = simple 简易的安装方式
$ egg-init --type=simple
运行egg
$ npm run dev
'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(删除资源)
'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);
};
'use strict';
// "use strict" 的目的是指定代码在严格条件下执行。
module.exports = app => {
const { router, controller } = app;
router.get('/default/index', controller.default.home.index);
};
$ npm i egg-mysql
这个配置完,也就说明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,
};
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;
}
}
phpStudy下载地址:https://www.xp.cn
开启mySql后下载phpStudy环境中的数据库工具(客户端)登入并建立库、表、字段(工具栏有图标可以点)。
如果mySql无法开启,可以尝试切换端口3307或者设置默认 再不行百度吧(步骤比较复杂)。。
未完待续..