使用koa+mysql写一个简易论坛(一)
2019-03-27 本文已影响23人
Qibing_Fang
Github
代码同步仓库:
完整代码仓库:
写作原因
- 初学者,学习之余找点额外的事做
- 分享一下自己的学习经历,让自己不至于那么枯燥
- 写文章的过程也是对自己知识的整理与总结的过程
项目概述
- 使用koa框架加mysql写一个简易的论坛,它必须有论坛的基本功能,暂时不考虑高并发等性能问题,因为这只是一个个人的实践项目,并没有多大的可能性会运用于生产,当然,如果可能的话,我当然希望我写的东西能够被很多人认可并使用的。
- 具体功能介绍:
用户:
1、发帖,评论
2、 注册、登录、登录,保持、清除登录状态
3、个人信息设置,包括头像,昵称,联系方式等
管理员:
1、 用户的管理
2、子论坛的创建、展示、编辑
3、帖子的精华设置、置顶、删除
其它:
1、相对漂亮的UI
环境准备
1. 文本编辑器, 可以考虑以下几种:
- Sublime text (收费,但可忽略)
- Vscode (免费)
- Atom(免费)
- WebStorm (收费,很贵)
当然你也可以用其它的文本编辑器,记事本也是可以的
2. node.js
英文网址:
中文网址
- 可自行选择系统对应的版本,下载完成后点击安装即可。
检验是否安装成功
打开终端,输入 node -v 出现版本号即表示安装成功
3. mysql
- 进入mysql官网下载安装包,安装社区版的即可
image.png
- mac用户可直接在“系统偏好设置里”启动mysql,(windows用户我还不是很了解,不过这个并不难,而且网上一大堆教程)然后打开终端,输入:
mysql -u root -p // 以root用户登录到数据库
-
输入你的密码(密码也可以在系统偏好设置中设置),回车,即可进入数据库:
-
常用mysql语句 ==>
image.png
image.png
image.png -
表的约束条件
image.png -
设置ID自增长 : AUTO_INCREMENT ( auto_increment )
项目准备
在这个项目中暂时使用了一个数据库和三个数据表
创建数据库:
create database BBS;
创建数据表:
image.png
image.png
image.png
-
mysql常见字段类型
image.png
项目起步
- 创建项目目录: 在你计算机上的任意位置创建一个文件夹作为你的项目目录,文件夹路径最好不要有中文
- 新建app.js文件作文项目入口
- 打开终端,进入你的项目目录,初始化一个package.json文件, 命令如下:
image.pngnpm init --yes
- 没有这个文件就没地方放包了
- 下载koa:
npm install koa
- 下载一个帮助我们自动重启服务的工具包: nodemon(保存文件时自动重启)
npm install nodemon
6.配置使用nodemon:将之前的package.json文件配置成下图所示,你就可以直接在项目文件中使用 npm start 命令来启动服务,
- 使用你的文本编辑工具打开app.js文件,引包(我们之前下载好了koa,但是不将它引入就不能使用):
const Koa = require('Koa');
const app = new Koa();
- 开启本地服务,代码(注释)如下:
image.png
7.使用npm start,在浏览器中输入http://localhost:3000,你可以看到Hello World