一:Egg的配置
1.安装对应的插件 egg-mysql :
npm i --save egg-mysql
2.开启插件
// config/plugin.js
module.exports = {
//(2)开启插件:
"egg-mysql": {
enable: true,
package: 'egg-mysql',
}
};
3.访问 MySQL 数据库实例,如下配置:
// config/config.${env}.js
const userConfig = {
// myAppName: 'egg',
"mysql": {
// 单数据库信息配置
client: {
// host
host: 'localhost',
// 端口号
port: '3306',
// 用户名
user: 'root',
// 密码
password: 'root',
// 数据库名
database: 'project-qiaoxiaoyao',
},
},
};
4.查询全表
//app/controller/home.js
async listdata() {
const { ctx } = this;
//(4)查询全表[注意this.app.mysql的mysql和config.default.js中的配置名要一致]
const results = await this.app.mysql.select('users');
console.log(results);
ctx.body = {
code: 1,
results,
}
}
//app/public/router.js
router.get('/api/lists', controller.home.listdata)
二、vue、vuex数据获取方法
建立与vue的联系
1.vue.config.js文件中,做前端跨域
module.exports = {
devServer: {
proxy: "http://localhost:7001"
}
}
2.在需要数据的页面的created()里面:axios.get("/api/lists").then(res=>{console.log(res)})
建立与vuex的类型
1.在store/index.js中的actions写获取数据的接口
//获取数据
async listdata(context, payload) {
let res = await axios.get("/api/lists", payload);
console.log(res);
},
2.在需要获取数据的页面中的created调用该方法
created(){
this.$store.dispatch("listdata");
}