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。傳送門

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