egg-mysql 配置坑之一

157 阅读1分钟

「本文已参与低调务实优秀中国好青年前端社群的写作活动」

  • 首先我按照官网的方法进行安装配置了egg-mysql配置文档地址
  • 但是app上并未挂载上mysql
    打印一下app.mysql
'use strict';

const Controller = require('egg').Controller

class HomeController extends Controller{

    async index(){
        //获取用户表的数据
        const { ctx, app } = this;
        console.log(app.mysql+'111111111111');
        let result = await app.mysql.get("blog_content",{})
        console.log(result)
        ctx.body=result
    }
}

module.exports = HomeController
  • 结果打印为undefined

    在这里插入图片描述
    在这里插入图片描述

  • 仔细检查比对的文档的每一个步骤都没有错,应该是声明出了问题就无法在this.app里获取到mysql

  • 于是我修改了一下官方文档config/plugin.js里的内容 官方文档的配置:

exports.mysql = {
  enable: true,
  package: 'egg-mysql'
}

我的配置(将exports.mysql -> 改成module.exports.mysql):

module.exports.mysql = {
  enable: true,
  package: 'egg-mysql'
}
  • 结果就成功了,成功拿到app.mysql

    在这里插入图片描述

    但是又来了个bug, 从数据库取出来来的数据乱码了(可能是字符集配置的问题)

    在这里插入图片描述

    ok,继续下一个bug!