使用koa+mysql寫一個簡易論壇(一)
Github
程式碼同步倉庫:
https://github.com/ShyGodB/Forum-Code-Synchronize-
完整程式碼倉庫:
https://github.com/ShyGodB/BBS-by-Koa-Mysql
寫作原因
- 初學者,學習之餘找點額外的事做
- 分享一下自己的學習經歷,讓自己不至於那麼枯燥
- 寫文章的過程也是對自己知識的整理與總結的過程
專案概述
- 使用koa框架加mysql寫一個簡易的論壇,它必須有論壇的基本功能,暫時不考慮高併發等效能問題,因為這只是一個個人的實踐專案,並沒有多大的可能性會運用於生產,當然,如果可能的話,我當然希望我寫的東西能夠被很多人認可並使用的。
- 具體功能介紹:
使用者:
1、發帖,評論
2、 註冊、登入、登入,保持、清除登入狀態
3、個人資訊設定,包括頭像,暱稱,聯絡方式等
管理員:
1、 使用者的管理
2、子論壇的建立、展示、編輯
3、帖子的精華設定、置頂、刪除
其它:
1、相對漂亮的UI
環境準備
1. 文字編輯器, 可以考慮以下幾種:
- Sublime text (收費,但可忽略)
- Vscode (免費)
- Atom(免費)
- WebStorm (收費,很貴)
當然你也可以用其它的文字編輯器,記事本也是可以的
2. node.js
英文網址:
https://nodejs.org/en/download/current/
中文網址
https://nodejs.org/zh-cn/download/
- 可自行選擇系統對應的版本,下載完成後點選安裝即可。
檢驗是否安裝成功
開啟終端,輸入 node -v 出現版本號即表示安裝成功
3. mysql
- 進入mysql官網下載安裝包,安裝社群版的即可
https://dev.mysql.com/downloads/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檔案, 命令如下:
npm init --yes

image.png
- 沒有這個檔案就沒地方放包了
- 下載koa:
npm install koa
- 下載一個幫助我們自動重啟服務的工具包: nodemon(儲存檔案時自動重啟)
npm install nodemon
6.配置使用nodemon:將之前的package.json檔案配置成下圖所示,你就可以直接在專案檔案中使用 npm start 命令來啟動服務,

image.png
- 使用你的文字編輯工具開啟app.js檔案,引包(我們之前下載好了koa,但是不將它引入就不能使用):
const Koa = require('Koa');const app = new Koa();
-
開啟本地服務,程式碼(註釋)如下:
image.png
7.使用npm start,在瀏覽器中輸入 http://localhost:3000 ,你可以看到Hello World