• Stars
    star
    1,770
  • Rank 26,303 (Top 0.6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 6 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

基于 Node.js Koa2 实战开发的一套完整的博客项目网站

logo

一、项目介绍

我们这个项目就是完成一个完整的博客项目,包含服务端接口API,管理后台,前端网站,以及部署上线流程。为了项目更好的区分,这个项目主要介绍使用 Node.js Koa2 框架开发一套完整的服务端接口 API 项目,另外的项目请点击以下:

1.1.项目模块

使用精小而强大的 Node.js Koa2 框架做服务端 API 接口,非常适合想用 Node.js Koa2 做服务的朋友,相信你一定能学到知识。

  • 管理员模块
    • 实现权限管理,能够对其他模块进行增删改查权限
    • 登录注册模块,登录管理后台
  • 用户模块
    • 实现在前台博客网站中登录注册
  • 文章模块
    • 实现文章的新增,修改,删除,查询
    • 文章进行对分类,评论,回复关联
  • 分类模块
    • 实现分类的新增,修改,删除,查询
    • 实现分类与文章进行关联
  • 评论 / 回复模块
    • 实现评论 / 回复的新增,修改,删除,查询
    • 实现评论 / 回复与文章进行关联

1.2.接口文档

记录和完善接口文档是一个良好的习惯,接口文档放在 doc 目录下,比如管理员的接口文档:https://github.com/lfb/nodejs-koa-blog/blob/master/doc/admin.md

1.3.项目展示

二、使用项目

2.1.克隆项目

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

# 克隆项目代码

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

2.2.项目架构

拉取代码下来后,简单说明一下项目架构,我们简单熟悉一下,目的是为了了解清楚每个文件夹有什么作用的,好的代码结构并不仅仅是为了看上去清晰,它更像是我们对一个系统的拆解和组装。

.
├── _tests 单元测试
├── app *重点, 项目工程入口
    ├── api 接口
    ├── dao 数据存取对象(Data Access Objects)
    ├── lib 工具库
    ├── models 建模,把业务逻辑映射成数据模型
    ├── service 数据处理
    └── validators 数据验证
├── app.js 入口文件
├── config 配置文件
├── core 核心公共工具库
├── doc 接口文档
├── jest.config.js  测试配置文件
├── middlewares 中间件
├── package-lock.json
├── package.json
└── yarn.lock

2.3.创建数据库

启动项目前一定要在创建好 boblog 数据库,如果你还没安装上数据库,请点击MySQL 下载,请在根目录下的 |——config/config.js 文件下修改您本地的数据库名字(boblog)和数据库密码 ( password )。以下是执行数据库命令:

# 登录数据库

mysql -uroot -p (回车然后输入你的本机数据库密码)

# 创建 boblog 数据库

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

2.4.启动项目

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

# 进入项目根目录

cd nodejs-koa-blog

# 安装依赖包

npm install 或者 yarn install

# 启动 Node.js Koa2 项目

npm run dev 或者 yarn dev

API 端口默认是 5000,打开浏览器输入回车:http://localhost:5000 可以看到浏览器返回数据,可以查看目录下的 ./app/api/v1 下的接口或者看 doc 目录下的 markdown 接口文档,在 postman 测试接口。

Postman 下载地址:https://www.postman.com/downloads/

三、FAQ

  1. 没有yarn环境,npm 可以吗?

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

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

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

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

License

MIT, by LFB

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

More Repositories

1

vue-cli-project

Vue.js 2.x 实战开发项目脚手架
JavaScript
126
star
2

nodejs-koa-wxapp

Node.js + Koa2 + MySQL 实战开发微信小程序服务端接口
JavaScript
42
star
3

vue-cli3-template

基于 Vue-cli3 搭建的脚手架项目模板
JavaScript
30
star
4

react-blog-admin

基于 React.js + Ant Design 实现的博客管理后台项目
JavaScript
17
star
5

vue-blog-admin

基于 Vue.js + Element-UI 实现的博客管理后台
Vue
17
star
6

frontend

深入浅出前端体系
HTML
14
star
7

nuxtjs-blog-web

基于 Nuxt.js 实现的博客 SSR 网站
Vue
12
star
8

koa-analysis

Koa.js 源码分析
JavaScript
10
star
9

function

锻炼思维小能手:实现一些 JavaScript 常见实用的方法
JavaScript
6
star
10

frontend-performance-optimization

前端性能优化原理与实践
JavaScript
5
star
11

dart

study dart
Dart
3
star
12

vue-component

学习写一个 Vue.js 组件
Vue
3
star
13

nodejs-koa-service

Node.js Koa2 服务端实战项目
JavaScript
3
star
14

study-java-notes

Learn java notes, pure notes.
Java
3
star
15

javascript-basics

理解 JavaScript 的基础知识
JavaScript
2
star
16

webpack-example

webpack常见配置示例
JavaScript
2
star
17

JSFunction

✨✨JS各种实用方法Demo
JavaScript
2
star
18

react-todolist

A react todolist example
JavaScript
2
star
19

node-blog

JavaScript
1
star
20

wechat-applet

搭建微信小程序架构
JavaScript
1
star
21

Design-Patterns

设计模式
JavaScript
1
star
22

dxj-me

大小姐
1
star
23

http-cache

JavaScript
1
star
24

boblog-template

boblog template
1
star
25

quill-editor-element

Quill editor element
1
star
26

study-git

1
star
27

mytodolist

mytodolist
1
star
28

lfb.github.io

Next Blog
1
star
29

hutao

hutao
HTML
1
star
30

git-project

git actions
1
star
31

flutter

study flutter
Dart
1
star
32

js-algorithm

js algorithm
JavaScript
1
star
33

understand-webpack

理解webpack4笔记。Understand webpack4.0 notes.
JavaScript
1
star
34

snabbdom-demo

snabbdom-demo
JavaScript
1
star
35

webpack.js

1
star
36

vue-cli-admin

iview-admin-template.
JavaScript
1
star
37

nuxtjs-template

nuxtjs template
1
star
38

rem-mobile-responsive-adaptation

rem移动端响应式适配
HTML
1
star
39

cherry-storage

A front-end locally cached library
1
star
40

Promise-in-Action

Promise 从入门到实战
1
star
41

bojs

深入浅出 JavaScript 的基础知识
1
star
42

css-layout

css常用布局
HTML
1
star
43

css-layout-basis

系统学习 CSS 布局基础
HTML
1
star