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
相关文章
相关标签/搜索