koa 入门

介绍

如果还没有了解过 koa,可以看一下这里了解一下。传送门

如果已经了解过 koa 但对于使用还没有经验想做 demo 练习一下可以看看下面。本文主要是对使用 koa 搭建服务器实现接口的思路做一下描述,具体使用的一些api可以去查阅相关文档。

 

概念

1.ORM(Object Relational Mapping 对象关系映射)

我这里简单介绍一下。首先面向对象编程把所有实体看成对象(object),关系型数据库则是采用实体之间的关系(relation)连接数据,然后 ORM 就是把数据库映射成对象,这样的好处是我们操作数据库不再需要在去写 SQL语句,只需要操作实体对象的属性和方法就可以达到操作数据库的效果。映射关系如下:

数据库的表(table) --> 类(class)
​
记录(record,行数据)--> 对象(object)
​
字段(field)--> 对象的属性(attribute)

我这里 ORM 用的是Sequelize框架。对于ORM 更详细的描述,可以看看这里了解一下或者Google一下。

2.RESTful API 设计指南

它是一种互联网应用程序的API设计理念,详情请看传送门

 

项目搭建

先看一下项目的结构。

|———— server // Koa 后端,用于提供Api
|   |———— config // 配置文件夹,用来连接数据库
|   |———— schema // 数据库表结构
|   |———— modules // 模型
|   |———— controllers // 控制器
|   |———— routes // 路由
|   |———— app.js // 入口文件
|  

1.环境配置

开始之前先对环境进行配置。

后端要存数据,当然就需要数据库,我这里用的是mysql,所以先安装mysql,数据库管理软件我用的是MySQL Workbench。

koa项目是基于node的,所以需要安装node。项目的开发工具没啥说的。

配置好项目需要的环境就开始做项目了。先创建一个文件夹,然后 npm init ,之后一路回车就行了。这是要建一个package.json文件,方便后面对包的管理。

然后在server文件夹下再创建config、schema、modules、controllers、routes文件夹及app.js文件,下面就分好的这几部分进行介绍。

2. config

config 文件夹下创建 db.js 文件,利用 Sequelize 来连接数据库。

3.schema(数据表模型)

这里的主要功能就是利用 Sequelize 建立与数据表的对应关系,用于建表。

4.modules(对象模型)

这里的功能是建立数据库表对应的一个对象。有关数据库 CRUD 的操作在这里实现,但是不是去用 SQL 语句去操作数据库,而是用 Sequelize 为我们提供的方法来实现。

5.controllers(控制器)

这里用来处理接受到的请求,在处理请求的时候调用 modules 中的方法去处理数据,完成一些逻辑处理,最后返回响应。

6.routes(接口)

这里用来设置前端访问的路径,访问到后将请求交给 controllers 中对应的控制器去处理。

7.app.js

这是项目的入口文件,用来加载中间件和设置项目监听的端口等等。

 

最后

捋清楚项目的逻辑以后就可以开始做个 demo 练习一下了,我这里有一个利用 vue 和 koa 写的 demo,可以 clone 下来参考一下,传送门

如果对 vue 不了解,可以去官网学习一下。这里也有一个 vue 入门的 demo。传送门

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章