国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語言 > JavaScript > 正文

Koa從零搭建到Api實(shí)現(xiàn)項(xiàng)目的搭建方法

2024-05-06 15:36:25
字體:
供稿:網(wǎng)友

什么是Koa?

Koa 是一個(gè)新的 web 框架,由 Express 幕后的原班人馬打造, 致力于成為 web 應(yīng)用和 API 開發(fā)領(lǐng)域中的一個(gè)更小、更富有表現(xiàn)力、更健壯的基石。 通過利用 async 函數(shù),Koa 幫你丟棄回調(diào)函數(shù),并有力地增強(qiáng)錯(cuò)誤處理。 Koa 并沒有捆綁任何中間件, 而是提供了一套優(yōu)雅的方法,幫助您快速而愉快地編寫服務(wù)端應(yīng)用程序。

Koa vs Express

Koa使用promises和async函數(shù)來擺脫回調(diào)地獄的應(yīng)用并簡(jiǎn)化錯(cuò)誤處理。它暴露自己ctx.request和ctx.response對(duì)象而不是節(jié)點(diǎn)req和res對(duì)象。另一方面,Express 使用其他屬性和方法擴(kuò)充節(jié)點(diǎn)req和res對(duì)象,并包括許多其他“框架”功能,例如路由和模板,Koa沒有。

因此,如果你希望更接近node.js和傳統(tǒng)的node.js樣式編碼,你可能希望堅(jiān)持使用Connect / Express或類似的框架。如果你想擺脫回調(diào),請(qǐng)使用Koa。

總結(jié)

Koa是一個(gè)比Express更精簡(jiǎn),使用node新特性的中間件框架,相比之前express就是一個(gè)龐大的框架

如果你喜歡diy,很潮,可以考慮Koa,它有足夠的擴(kuò)展和中間件,而且自己寫很簡(jiǎn)單 如果你想簡(jiǎn)單點(diǎn),找一個(gè)框架啥都有,那么先Express

如果你有興趣了解更多不同,請(qǐng)?jiān)L問Koa vs Express

Koa 項(xiàng)目搭建

注意,本篇教程面向有一定Koa使用經(jīng)驗(yàn)的用戶。如果,你還不了解Koa,請(qǐng)先看下面的文檔Koa 中文文檔

Koa 文檔過于精簡(jiǎn),雖然將每一個(gè)API都進(jìn)行解釋說明,但還是很難將其組織起來進(jìn)行應(yīng)用,對(duì)于初學(xué)者來說可謂是很不友好。

筆者第一個(gè)Koa項(xiàng)目,將所有接口,邏輯,配置等全部寫在了app.js中,雖說完美運(yùn)行,但是可讀性,可維護(hù)性極差,所以一個(gè)好的目錄結(jié)構(gòu)尤為重要

目錄創(chuàng)建

config - 配置 models - 數(shù)據(jù)庫(kù)模型(ROM) controller - 控制器 middlewares - 中間件 public - 靜態(tài)資源 service - 服務(wù) router - 路由 app.js - 啟動(dòng)文件

依賴安裝

創(chuàng)建好項(xiàng)目目錄后我們需要安裝一些依賴,來供我們使用

babel-core/babel-preset-es2015 - 讓 nodeJs 支持 es6 modules koa - koa2 koa-body - request body 解析 koa-cache-control - 緩存控制 koa-compress - gzip koa-cors - 跨域 koa-logger - 日志 koa-onerror - 錯(cuò)誤處理 koa-router - 路由 koa-session - session koa-static - 靜態(tài)資源服務(wù) koa-helmet - 安全 md5 - md5 加密 mkdirp - 遞歸創(chuàng)建目錄

可以根據(jù)自己的需求進(jìn)行選擇,但是一些依賴是必須安裝的

koa - koa2 koa-body - request body 解析 koa-router - 路由

后面的內(nèi)容會(huì)講解每個(gè)插件有什么用,如何去用。

目錄詳解

config

config是我們的配置文件,比如:

數(shù)據(jù)庫(kù)(mysql,oracle,redis等) OSS ...

實(shí)際運(yùn)用:

confirg database.config.js(新建)
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 安远县| 商河县| 腾冲县| 金堂县| 侯马市| 盐边县| 深泽县| 原阳县| 虞城县| 黄梅县| 保定市| 黄山市| 南皮县| 济阳县| 安阳市| 五峰| 聂拉木县| 宣汉县| 大英县| 呼伦贝尔市| 阿合奇县| 张北县| 都兰县| 安庆市| 东兰县| 唐海县| 灵丘县| 延边| 南澳县| 连平县| 喀什市| 乡城县| 洪泽县| 海丰县| 阜平县| 鱼台县| 饶阳县| 视频| 任丘市| 页游| 色达县|