国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

koa2 + graphql + typescript + jwt + typeorm的nodejs

Dogee / 3504人閱讀

最近寫了一個node項目,主要使用到的技術(shù)有:

koa2  // nodejs 框架
koa-router // koa路由
graphql // 查詢api
typescript // 強類型語言
jwt // 授權(quán)
typeorm  // typescript的一個orm
mysql2  // 內(nèi)容數(shù)據(jù)庫
mongodb  // 日志存儲數(shù)據(jù)庫
redis  // 服務(wù)器緩存

項目結(jié)構(gòu):

conf目錄(配置項目錄,包含db配置、服務(wù)啟動端口配置、服務(wù)啟動入口文件server.ts)
release目錄(編譯后目錄)
src(項目主要源碼目錄)
    controllers(控制器)
    core(核心擴展)
    database(db連接)
    entities(mysql/mongodb的數(shù)據(jù)模型)
    middlewares(koa中間件)
    models(其他一些數(shù)據(jù)的模型)
    routes(路由)
    schema(graphql的schame)
    utils(輔助庫目錄)
    app.ts項目入口文件

該項目使用了koa的路由,可以同時支持普通RESTful和graphql兩種類型api

目前授權(quán)使用jwt模式,為了登出,也是用了redis輔助保存用戶會話信息(醉了...)

在graphql項目中,只需要后端定義好返回數(shù)據(jù)模型,前端按照自己需要的數(shù)據(jù)去查詢接口,返回?zé)o冗余數(shù)據(jù),非常簡潔方便。

graphql定義及各種各樣的好處就不多說了,直接看實戰(zhàn)結(jié)果吧。

GraphQL示例

// 查詢
{
  count
  articles{
    list{id,title}
    meta{page,page_size}
  }
}

// 結(jié)果
{
  "data": {
    "count": 3,
    "articles": {
      "list": [
        {
          "id": "594459f050bcc2abbbf5116ed301b002",
          "title": "Laravel 5.6 是繼 5.5 之后 Laravel 官方發(fā)布002"
        },
        {
          "id": "594459f050bcc2abbbf5116ed301b003",
          "title": "Laravel 5.6 是繼 5.5 之后 Laravel 官方發(fā)布003"
        },
        ...
      ],
      "meta": {
        "page": 1,
        "total": 24
      }
    }
  }
}

前端異步請求截圖:

請求數(shù)據(jù)

返回結(jié)果

從結(jié)果看,返回的數(shù)據(jù)完全是按照自己的需要進(jìn)行查詢返回的

項目地址:https://github.com/xpioneer/k...

目前只是初版,還未完善整個工程項目,整體架構(gòu)還需要調(diào)整,但可以跑通整個流程了!

歡迎star項目,也歡迎指正~~

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/19416.html

相關(guān)文章

  • 前端學(xué)習(xí)資源匯總

    摘要:建立該倉庫的目的主要是整理收集學(xué)習(xí)資源,統(tǒng)一管理,方便隨時查找。目前整合的學(xué)習(xí)資源只是前端方向的,可能會存在漏缺比較好的資源,需要慢慢的完善它,歡迎在該上補充資源或者提供寶貴的建議。 說明 平時的學(xué)習(xí)資源都比較的凌亂,看到好的資源都是直接收藏在瀏覽器的收藏夾中,這樣其實并不方便,整理在云筆記上,也不方便查看修改記錄,索性就整理在 github 上并開源出來,希望幫助大家能夠更快的找到需...

    SnaiLiu 評論0 收藏0
  • 平時積累前端資源,持續(xù)更新中。。。

    本文收集學(xué)習(xí)過程中使用到的資源。 持續(xù)更新中…… 項目地址 https://github.com/abc-club/f... 目錄 vue react react-native Weex typescript Taro nodejs 常用庫 css js es6 移動端 微信公眾號 小程序 webpack GraphQL 性能與監(jiān)控 高質(zhì)文章 趨勢 動效 數(shù)據(jù)結(jié)構(gòu)與算法 js core 代碼規(guī)范...

    acrazing 評論0 收藏0

發(fā)表評論

0條評論

Dogee

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<