Koa2 搭建我的網站框架

構建項目

  • 安裝koa-generator
yarn global add koa-generator
複製代碼
  • 使用koa-generator生成koa2項目 -e爲使用ejes爲模版
koa2  -e projectname 
複製代碼
  • 開始項目
cd project 
 yarn install
複製代碼

目錄結構javascript

koa2目錄.png

重構目錄

固然這樣的目錄顯然不符合咱們當下的開發方式,咱們要把它變成咱們熟悉的MVP模式html

  • pulic 目錄爲資源目錄能夠不用動
  • bin 目錄是重要配置文件也不動
  • 新建app目錄並在裏面新建模塊admin(用於博客後臺管理),inde(用於博客正式內容),route(用於管理路由),db.js(用於配置連接數據庫參數)
  • 在每一個模塊都新建controller,model, view 目錄這樣mvc模型就出來了
  • 刪除其餘目錄及裏面的文件

koa2-2.png

尋找優秀模版

爲了節省開發成本,咱們須要去下載一些優秀的模版我用到的的是amazeUI的模版文件。將靜態文件都拷貝到public文件夾,html模版文件改成ejs後綴放入index模塊的view中 java

WX20190704-202126@2x.png
同時須要修改模版文件裏面靜態資源的路徑使之正確引入public的文件

構建路由,這裏爲了分離路由和處理邏輯咱們將處理邏輯放在controller目錄下做爲controller層,而後在router裏面引入 mysql

WX20190704-222216@2x.png

下面就是controller層文件的寫法,koa2採用的是async/await的寫法進行異步請求。並引入model。 sql

WX20190704-222707@2x.png

如今mvc模式下的V和C已經搭建好了,就差M了,因此首先咱們要安裝一下Sequelize用於連接數據庫,如下命令安裝sequelize,點擊能夠去了解一下sequelize,這裏不做過多介紹。數據庫

$ yarn add sequelize
複製代碼

在app文件夾下新建db.js用於配置數據庫bash

var Sequelize = require('sequelize')

module.exports = new Sequelize('yzgblog','yzgblog','yzg_blog',{
    host:'你的數據庫地址',
    dialect:'mysql',
    pool: {
        max: 5,
        min: 0,
        idle: 10000
    }
})
複製代碼

WX20190704-223420@2x.png

在model文件夾下新建模型層如users(用戶),blogs(博客表)等等。引入db.js配置mvc

let Sequelize = require('sequelize')
let sequelize = require('../../db')
let User = sequelize.define('users',{
    nickname:{
        type:Sequelize.STRING
    },
    avater:{
        type:Sequelize.STRING
    },
    email: {
        type: Sequelize.STRING
    }
})
module.exports = User;
複製代碼

至此項目的大體框架,mvc分層就都搭建起來了 app

WX20190704-231054@2x.png

WX20190704-231109@2x.png
相關文章
相關標籤/搜索