当前位置: 首页 > 后端技术 > Node.js

Node.js+Koa2+MySQL+Vue.js实战开发一个完整的个人博客项目网站

时间:2023-04-03 18:47:50 Node.js

1.这是个什么项目?一个完整的基于Node.jsKoa2实战开发的博客项目网站,使用Koa2重新开发了一套适用于多终端的RESTfulAPI,并支持完善的后台管理系统,前端展示均基于ejs服务器端渲染和基于Vue.js前后端分离的两套前端网站。博客在线地址为:https://www.boblog.com2、该项目包括哪些功能?2.1.Node.jsKoa2serverRESTfulAPI管理员及权限控制界面文章管理界面评论/回复功能界面分类界面广告界面2.2.博客前端展示网站ejs服务端渲染Vue.js前端分离2.2.后台管理系统[x]使用Vue.jsiviewui设计搭建后台管理系统2.3.优点使用小巧但功能强大的Node.jsKoa2框架作为服务器API接口。前端既有服务端渲染,也有前端分离,做了很多优化工作。前端展示网站快速打开。性能优化工作:服务器采用缓存机制降低服务器请求压力,如Redis缓存,HTTP缓存采用CND加速,静态文件存储在七牛服务器,ejs服务器渲染,最大限度减少文件和文件的引入减少对DOM运行的影响,封装使用图片懒加载、事件防抖和节流控制浏览器滚动监听事件。Vue.js项目采用模块按需加载,利用浏览器缓存机制减轻服务器请求压力...2.4.知识点服务器:Node.js、Koa、MySQL、Sequelize、Redis前端服务器渲染:ejs、jQuery、Bootstrap,体验网站:www.boblog.com前端分离:Vue.js、iviewui,体验网站:vue.boblog.com后台管理系统:Vue.js,iviewui性能优化非常适合想使用Node.jsKoa2做网站的朋友,相信一定能学到知识。3.如何学习?3.1.数据库boblog数据库必须在启动项目之前创建。以下是执行数据库的命令:#登录数据库$mysql-uroot-ppassword#创建wxapp数据库$CREATEDATABASEIFNOTEXISTSboblogDEFAULTCHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci;3.2.修改Koa2项目的数据库配置,请在根目录的|--config/config.js文件下修改你本地的数据库名(boblog)和数据库密码(password)。3.3.克隆项目首先克隆项目,然后进入项目根目录使用命令安装包,最后使用命令启动项目,代码会自动根据模型创建数据库表。根目录为Node.js+Koa2API开发源码,重点介绍app文件夹下的api开发;根目录下的view文件夹是ejs渲染工程;web文件夹是前端网站项目的源代码;根目录下面的admin文件夹是后台管理系统的源代码。下面是启动服务端项目的操作命令:#克隆项目代码$gitclonehttps://github.com/liangfengbo/nodejs-koa-blog.git#进入项目根目录$cdnodejs-koa-blog#安装依赖包$npminstall#启动Node.jsKoa2项目$npmrundev打开浏览器输入:http://localhost:3000就可以看到服务端渲染的前端网站了。当然网站也可能是空数据网站,可以查看目录./app/api/v1下的接口或者查看doc目录下的markdown接口文档,在postman中测试接口。下面是启动后台管理系统的操作命令:#启动后台管理系统1.进入根目录下的admin项目:cdadmin,2.安装包,执行:npminstall命令,3.启动服务:npm运行开发;浏览器打开:http://localhost:8083/即可访问。启动Vue.js前端项目如下#启动Vue.js前端项目1.进入根目录下的web项目:cdweb,2.安装依赖包,执行:yarninstall或npminstall命令,3.启动项目:yarnserve或npmrunserve;打开浏览器:http://localhost:8080/即可访问。4.接口说明(重要)项目所有的接口文档都在这里,大家可以一一阅读。管理员界面文件说明文章界面文件说明分类界面文件说明评论界面文件说明评论界面文件说明广告界面文件说明5.FAQ没有yarn环境,npm可以做吗?答:可以,推荐使用yarn,yarn比npm快,主要是安装版本统一。启动Koa2项目报错,请问是什么原因?答:首先请检查您是否使用npm或yarn安装了依赖。然后,请检查确保数据库已安装并创建一个新数据库:boblog,请参阅上面的数据库配置。最后查看启动打印日志是否有报错信息。...更多问题请前往Issues,或者有任何问题请前往Issues提问。License项目实现了管理员、权限管理、文章、分类、评论等接口,前端模板网站和后端管理系统。大家可以根据项目代码学习,可以测试API,也可以在postman软件中学习。如果喜欢或者帮助到你,请点个星鼓励我,或者你有更好的建议和意见,请告诉我,并留言Issues。希望对大家学习有所帮助!谢谢!共勉!麻省理工学院,梁风波