1、博主用eggjs+vue+mysql 的组合写了个简单的demo。
2、博主为了这个demo整了90天,这90可以接多少外包,有什么比花10米投资在自己身上更有价值的。
点击下载demo------》 egg+vue+mysql v1.0.0版demo
1、vue用的 2.6,cli3框架,没集成typeScript,下次再上传新版本在考虑下要不要集成(是cli3 文件里备注错了)
2、egg用的2.15.1。
3、数据库用的mysql
演示下效果,看以下视频
04-14-15_49_15
前端集成 vue、 jQuery 、axios、router、element-ui等 封装全局sass、支持多入口多出口 ,相关依赖看package.json
后端集成 egg swagger、 jwt(鉴权,里面有token验证)、validate表单验证、sequelize 数据库连接及查询、multipart文件上传 、ejs模板渲染 相关依赖看package.json
功能截图:
1、vue 登录页
2、element 后台页
3、egg swagger接口页
4、表截图
5、目录结构
前端记得先全局安装vue-cli2 阿里镜像cnpm知道装
cnpm install --g vue-cli 全局下载脚手架
好开始
进入前端目录 news-admin 先更新依赖
cnpm install
然后 运行(注意 现在你登录还不能访问)
cnpm run serve
后端你记得先安装mysql,我的博客有安装教程====>>>mysql下载安装
1、把cyc.sql还原进去你的本地数据库里(还原很简单,你下载个Navicat for MySQL 链接你本地数据库,然后本地数据库见一个库命名cyc,下面在见一个表,右键 运行sql文件 然后指向我那个cyc.sql就行了,对了 你本地数据库记得密码改成123456,不改也可以,你可以在egg的config.default.js里改配置也可以)
2、打开后端文件news-api,然后更新依赖
cnpm install
3、运行 你也可以 输入debug调试模式, 点击-》eggjs HBuilderX 断点调试解决方案
cnpm run dev
4、对了 你还要记得改配置在 egg的 news-api/config/config.default.js 改成你的数据库连接用户名密码
config.sequelize = {
dialect: 'mysql',
host: '127.0.0.1',
timezone: '+08:00',
username:"root",
password:"123456",
port: 3306,
// database: 'eggapi',
database: 'cyc',
dialectOptions: {
charset: 'utf8'
},
define:{
// tableName:true, //模型所对应表的表名,设置freezeTableName 为 true时,才会严格使用模型名
freezeTableName:true,// 设置为true时,sequelize不会改变表名,否则可能会按其规则有所调整
timestamps:false,
// createdAt:'created_at',
// updataAt:'updated_at',
// underscored:true
}
};
好,前端你运行完就会弹出来:http://localhost:8030/
后端 你要访问 http://localhost:7001/swagger-ui.html#/ 记住 看你运行的时候是7001还是其他端口 ,默认是7001,
点击下载demo------》 egg+vue+mysql v1.0.0版demo
问题反馈解答:
1、粉丝私信博主,新增的用户无法登陆-2021/06/28
起因:博主用户新增时没有把新增的用户用md5加密密码,可以直接手动添加下如下代码就可以了,文件路径 /news-api/app/service/user.js upData方法
case "password":
params[v]=cycMd5(params.password);
keys += v + ","
vals += "'" + params[v] + "',"
break;
本博客为博主原创,请转载谢谢。 如果有帮到你,希望能打赏下,v2.0.0版本请点击链接egg+mysql+mongo+redis 权限系统demo。如碰到问题,评论区留言。如果有时间我看看能不能帮你远程看下。
另外,有关eggjs的 mvc模式,博主也写了一个demo:eggjs的mvc模式demo(纯静态)_雪狼之夜的博客-CSDN博客