一、这是个什么的项目?

基于 Node.js Koa2 实战开发的一套完整的博客项目网站,使用 Koa2 二次开发一套适合多端的 RESTful API,同时配套完整的后台管理系统,且前端展示既有基于 ejs 服务端渲染,也有基于 Vue.js 前后端分离的 2 套前端网站。

二、项目包含什么功能?

2.1.Node.js Koa2服务端 RESTful API

管理员与权限控制接口

文章管理接口

评论/回复功能接口

分类接口

广告接口

2.2.博客前端展示网站

ejs 服务端渲染

Vue.js 前后端分离

2.2.后台管理系统

使用 Vue.js iviewui design 搭建的后台管理系统

2.3.优势

使用精小而强大的 Node.js Koa2 框架做服务端 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.js Koa2 做网站的朋友,相信你一定能学到知识。

三、如何学习?

3.1.克隆项目

首先使克隆项目,然后进入项目根目录使用命令安装包,最后命令启动项目,代码会根据模型自动创建数据库表的。

# 克隆项目代码

$ git clone https://github.com/LFB/nodejs-koa-blog.git

3.2.数据库

启动项目前一定要在创建好 boblog 数据库,以下是执行数据库命令:

# 登录数据库

$ mysql -uroot -p密码

# 创建 boblog 数据库

$ CREATE DATABASE IF NOT EXISTS boblog DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

3.3.Redis

项目使用了Redis,请在你的电脑上面装上Redis::「点击:附上Redis安装教程」,安装好 Redis 后,需启动Redis。

3.4.修改 Koa2 项目数据库配置

请在根目录下的 |——config/config.js 文件下修改您本地的数据库名字(boblog)和数据库密码 ( password )。

根目录都是 Node.js + Koa2 API 开发源代码,重点是 app 文件夹下的 api 开发;根目录下的 view 文件夹是 ejs 渲染项目;web 文件夹下都是前端网站项目源代码;根目录下的 admin 文件夹下都是后台管理系统的源代码。

以下是启动服务端项目的操作命令:

# 进入项目根目录

$ cd nodejs-koa-blog

# 安装依赖包

$ npm install

# 启动 Node.js Koa2 项目

$ npm run dev

打开浏览器输入回车:http://localhost:3000 可以看到服务端渲染的前端网站,当然可能该网站是个空数据网站,可以查看目录下的 ./app/api/v1 下的接口或者看 doc 目录下的 markdown 接口文档,在 postman 测试接口。

以下是启动后台管理系统的操作命令:

# 启动后台管理系统

1. 在根目录下进入admin项目:cd admin,

2. 安装包,执行: npm install 命令,

3. 启动服务: npm run dev; 浏览器打开:http://localhost:8083/ 即可以访问。

以下启动 Vue.js 前端项目

# 启动 Vue.js 前端项目

1. 在根目录下进入web项目:cd web,

2. 安装依赖包,执行: yarn install 或者 npm install 命令,

3. 启动项目: yarn serve 或者 npm run serve; 浏览器打开:http://localhost:8080/ 即可以访问。

四、接口说明(重要)

项目的所有接口文档都这里,可以逐个文档看。

五、FAQ

没有yarn环境,npm 可以吗?

答:可以的,建议使用 yarn,yarn 比 npm 速度快,主要是安装版本统一。

启动 Koa2 项目报错,请问原因?

答:首先,请检查一下使用 npm 或 yarn 安装依赖包没。然后,再请检查一下确保安装好数据库,新建好数据库:boblog,请看上面的数据库配置。最后看下启动打印日志是否有报错的信息。

... 更多问题请到 Issues查阅,或者有问题请到 Issues 提问。

License

项目已实现管理员、权限管理、文章、分类、评论等接口,前端模板网站和后台管理系统。自己可以根据项目代码学习,可以到 postman 软件中测试API或学习。

喜欢或对你有帮助的话,请你点一个星星 star 鼓励我,或者您有更好的建议和意见,请提出来告知我,可以留言 Issues。希望能够帮助到你学习!Thanks!共勉!

MIT, by 梁凤波

koa2 mysql项目教程_blogs: Node.js + Koa2 + MySQL + Vue.js 实战开发一套完整个人博客项目网站...相关推荐

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

    这是个什么的项目? 使用 Node.js + Koa2 + MySQL + Vue.js 实战开发一套完整个人博客项目网站. 博客线上地址:www.boblog.com Github地址:https: ...

  2. 基于SpringBoot+Vue开发的前后端分离博客项目-Java后端接口开发

    文章目录 1. 前言 2. 新建Springboot项目 3. 整合mybatis plus 第一步:导依赖 第二步:写配置文件 第三步:mapper扫描+分页插件 第四步:代码生成配置 第五步:执行 ...

  3. hapi mysql项目实战路由初始化_用hapi.js mysql和nuxt.js(vue ssr)开发仿简书的博客项目...

    前言: 预览: 开始: npm i 把mysql配置好 npm run server or npm run dev 实现功能: 用户: 登录.注册.用户资料修改,详情页面,类似于简书的文章数量.总字数 ...

  4. 基于dreamweaver软件设计和开发一网站_基于 abp vNext 和 .NET Core 开发博客项目 Blazor 实战系列(一)...

    系列文章 使用 abp cli 搭建项目 给项目瘦身,让它跑起来 完善与美化,Swagger登场 数据访问和代码优先 自定义仓储之增删改查 统一规范API,包装返回模型 再说Swagger,分组.描述 ...

  5. SpringCloud开发个人博客项目(框架搭建)

    1. SpringCloud简介 我们先看看springCloud官网(https://spring.io/projects/spring-cloud#overview)上的介绍: Spring Cl ...

  6. 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(一)

    系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...

  7. Node.js 从零开发web server博客项目--项目初始化

    本篇博客记录了<Node.js 从零开发web server博客项目>的原生开发系列内容. 开篇主要介绍原生项目的搭建,以及初步的项目结构设计. 一.项目初始化 新建项目目录,并进入到项目 ...

  8. springboot+jwt+shiro+vue+elementUI+axios+redis+mysql完成一个前后端分离的博客项目(笔记,帮填坑)

    根据B站up主MarkerHub视频制作的一个笔记 我的博客 B站博主链接: https://www.bilibili.com/video/BV1PQ4y1P7hZ?p=1 博主的开发文档: http ...

  9. ubantu20.04服务器使用docker以及docker-compose编排部署前后端分离个人博客项目(springboot+vue+mysql+redis)

    ubantu20.04使用docker部署前后端分离个人博客项目(springboot+vue+mysql+redis) 前言 本博客是基于springboot+vue+jwt+redis+mysql ...

  10. Spring Boot + vue-element 开发个人博客项目实战教程(四、数据库搭建和配置)

    前言 java项目已经创建好了,接下来我们要准备数据库了,数据库是干嘛的相信大家都知道了,我在这就不说了,我们需要做的就是在电脑上安装mysql数据库. 附菜鸟教程的MySQL基础学习教程:https ...

最新文章

  1. DB-Engines:2017 年 2 月份全球数据库排名
  2. appium1.6在mac上环境搭建启动ios模拟器上Safari浏览器 转自:上海-悠悠
  3. VMware虚拟机安装Ubuntu
  4. python替换excel指定字符串_【python】替换指定内容,excel数据预处理
  5. matlab主程序和子函数不在一个文件夹下,怎么调用?
  6. 远程桌面和云主机,可以听到云主机内部的声音
  7. java 线程亲缘性_第7章 线程调度、优先级和亲缘性(1)
  8. python工程师工资多少-不止 20K,Python 工程师的薪资再度飙升!
  9. 模仿笔迹最好的软件_模仿签名代写签字行业进入战国时代,乱战模式开启!
  10. pm2 管理 npm start
  11. java不能对什么类型进行转换_@Value - 无法将类型'java.lang.String'的值转换为所需类型'java.lang.Integer'...
  12. UI自动化测试之元素定位
  13. [OpenAirInterface实战-13] :OAI 基站配置文件详解
  14. 华为状态栏图标替换_【新手教程】状态栏图标替换教程
  15. 电气火灾监控系统在地铁供配电系统中的应用
  16. 时间,是个什么东东?
  17. 生物信息学之抗癌药物反应论文阅读三:ML+PDX
  18. matlab的三维矩阵含义
  19. 【推荐工具】connected papers:文献知识图谱神器
  20. Android隐藏录屏内容,原来手机内置的录屏功能这么强大,好多人都不会用,很可惜!...

热门文章

  1. 工厂有库存的我司高价IMX377CQT-C回收IMX317CQC-C长期回收OV芯片
  2. python脚本(比较两个Excel表格的不同并标记)
  3. 支付宝小程序框架分析
  4. RS485通信原理图及程序实例详解
  5. 土地土壤数据下载网站整理
  6. 信贷风控四:高校地址自动化识别
  7. 利用Sen2cor工具对哨兵2影像进行大气校正和辐射校正
  8. Awvs 12.x安装及使用教程
  9. win10默认壁纸_小白个人系统安装美化(二)win10系统美化设置篇
  10. openvino系列 16. OpenVINO 手写字体识别 OCR