最近打算用前后端分离的模式写一篇博客。前端使用vue,后端使用egg.js。我也是刚开始学egg.js,所以把踩过的坑都记录下来。首先介绍一下为什么后端要用egg。.js,之前学过koa2,基本把大部分基础知识都讲完了。看了egg.js,最终选择了它。其实egg.js也是基于koa开发的,只不过egg.js叫企业版。主要原因是egg.js更加规范,遵循约定优于配置的原则。还有媲美egg.js的sails框架!不多说!首先需要安装egg-mysql$npmi--saveegg-mysql然后打开插件在config/plugin.js中添加如下代码exports.mysql={enable:true,package:'egg-mysql',};其次是连接mysql数据库,连接数据库的基本点是你的电脑上安装了mysql数据库。别说不安装数据库就可以连接,或者也可以连接在线数据库。egg-mysql插件的官方文档是这样写的(因为我们是博客所以使用单数据源),单数据源配置如下://config/config.${env}。jsexports.mysql={//单数据库信息配置client:{//主机host:'mysql.com',//端口号port:'3306',//用户名user:'test_user',//密码password:'test_password',//数据库名database:'blog',},//是否在app上加载,默认打开app:true,//是否在agent上加载,默认关闭agent:false,};个人建议直接在config.default.js中配置module.exports=appInfo=>{constconfig=exports={};config.mysql={客户端:{主机:'本地主机',port:'3306',user:'test_user',password:'test_password',database:'blog'},app:true,agent:false};}然后测试是否连接成功,使用一段代码constin服务用户=awaitthis.app.mysql.query('select*fromuser_list','');官方文档如awaitapp.mysql.query(sql,values);官网写的是const{app}=this;1、连接数据库的时候还是遇到了坑。以上都正确后,控制台报如下错误Error:ER_NOT_SUPPORTED_AUTH_MODE:Clientdoesnotsupportauthenticationprotocolbyserver;considerupgradingMySQLclient在安装mysql的时候有强密码模式导致这个错误。单击下面的按钮以选择使用旧密码加密,或在安装过程中选择此选项。给数据,类似下面这样[RowDataPacket{user_name:'wzj',password:'123456'},RowDataPacket{user_name:'hyn',password:'123456'}]下面这种情况应该怎么处理,就是其实很简单的JSON。stringify()将对象转换为对象字符串!目前有这么多。如果各位道友遇到什么奇怪的问题,欢迎在下方评论。发展!
