成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

GraphQL 從入門(mén)到實(shí)踐

Blackjun / 525人閱讀

摘要:本文實(shí)例代碼什么是是一種面向數(shù)據(jù)的查詢風(fēng)格。概述前端的開(kāi)發(fā)隨著框架全面普及,組件化開(kāi)發(fā)也隨之成為大勢(shì)所趨,各個(gè)組件分別管理著各自的狀態(tài),組件化給前端仔帶來(lái)便利的同時(shí)也帶來(lái)了一些煩惱。

本文首先介紹了 GraphQL,再通過(guò) MongoDB + graphql + graph-pack 的組合實(shí)戰(zhàn)應(yīng)用 GraphQL,詳細(xì)闡述如何使用 GraphQL 來(lái)進(jìn)行增刪改查和數(shù)據(jù)訂閱推送,并附有使用示例,邊用邊學(xué)印象深刻~

如果希望將 GraphQL 應(yīng)用到前后端分離的生產(chǎn)環(huán)境,請(qǐng)期待后續(xù)文章。

本文實(shí)例代碼:Github

0. 什么是 GraphQL

GraphQL 是一種面向數(shù)據(jù)的 API 查詢風(fēng)格。

傳統(tǒng)的 API 拿到的是前后端約定好的數(shù)據(jù)格式,GraphQL 對(duì) API 中的數(shù)據(jù)提供了一套易于理解的完整描述,客戶端能夠準(zhǔn)確地獲得它需要的數(shù)據(jù),沒(méi)有任何冗余,也讓 API 更容易地隨著時(shí)間推移而演進(jìn),還能用于構(gòu)建強(qiáng)大的開(kāi)發(fā)者工具。

1. 概述

前端的開(kāi)發(fā)隨著 SPA 框架全面普及,組件化開(kāi)發(fā)也隨之成為大勢(shì)所趨,各個(gè)組件分別管理著各自的狀態(tài),組件化給前端仔帶來(lái)便利的同時(shí)也帶來(lái)了一些煩惱。比如,組件需要負(fù)責(zé)把異步請(qǐng)求的狀態(tài)分發(fā)給子組件或通知給父組件,這個(gè)過(guò)程中,由組件間通信帶來(lái)的結(jié)構(gòu)復(fù)雜度、來(lái)源不明的數(shù)據(jù)源、不知從何訂閱的數(shù)據(jù)響應(yīng)會(huì)使得數(shù)據(jù)流變得雜亂無(wú)章,也使得代碼可讀性變差,以及可維護(hù)性的降低,為以后項(xiàng)目的迭代帶來(lái)極大困難。

試想一下你都開(kāi)發(fā)完了,產(chǎn)品告訴你要大改一番,從接口到組件結(jié)構(gòu)都得改,后端也罵罵咧咧不愿配合讓你從好幾個(gè) API 里取數(shù)據(jù)自己組合,這酸爽

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/109157.html

相關(guān)文章

  • GraphQL 搭配 Koa 最佳入門(mén)實(shí)踐

    摘要:如下圖嗯,如圖都已經(jīng)查詢到我們保存的全部數(shù)據(jù),并且全部返回前端了。如圖沒(méi)錯(cuò),什么都沒(méi)有就是查詢服務(wù)的界面。寫(xiě)好了之后我們?cè)谂渲靡幌侣酚?,進(jìn)入里面,加入下面幾行代碼。 GraphQL一種用為你 API 而生的查詢語(yǔ)言,2018已經(jīng)到來(lái),PWA還沒(méi)有大量投入生產(chǎn)應(yīng)用之中就已經(jīng)火起來(lái)了,GraphQL的應(yīng)用或許也不會(huì)太遠(yuǎn)了。前端的發(fā)展的最大一個(gè)特點(diǎn)就是變化快,有時(shí)候應(yīng)對(duì)各種需求場(chǎng)景的變化,不...

    MoAir 評(píng)論0 收藏0
  • 21 分鐘學(xué) apollo-client 系列:獲取數(shù)據(jù)

    摘要:分鐘學(xué)是一個(gè)系列,簡(jiǎn)單暴力,包學(xué)包會(huì)。一旦組件掛載后,會(huì)自動(dòng)進(jìn)行數(shù)據(jù)請(qǐng)求,前提是客戶端提供的和后端的相符。如果回調(diào)返回直接不作請(qǐng)求。在組件內(nèi)進(jìn)行分頁(yè)請(qǐng)求之前提到了,這個(gè)裝飾器為添加了對(duì)象,其中有個(gè)函數(shù)為。 21 分鐘學(xué) apollo-client 是一個(gè)系列,簡(jiǎn)單暴力,包學(xué)包會(huì)。 搭建 Apollo client 端,集成 redux使用 apollo-client 來(lái)獲取數(shù)據(jù)修改本...

    robin 評(píng)論0 收藏0
  • 專(zhuān)治前端焦慮的學(xué)習(xí)方案

    摘要:不過(guò)今天我希望能夠更進(jìn)一步,不僅僅再抱怨現(xiàn)狀,而是從我個(gè)人的角度來(lái)給出一個(gè)逐步深入學(xué)習(xí)生態(tài)圈的方案。最后,我還是想提到下對(duì)于的好的學(xué)習(xí)方法就是回顧參照各種各樣的代碼庫(kù),學(xué)習(xí)人家的用法與實(shí)踐。 本文翻譯自A-Study-Plan-To-Cure-JavaScript-Fatigue。筆者看到里面的幾張配圖著實(shí)漂亮,順手翻譯了一波。本文從屬于筆者的Web Frontend Introduc...

    codeGoogle 評(píng)論0 收藏0
  • GraphQL入門(mén)指南

    摘要:允許創(chuàng)建零配置的服務(wù)器。這是一種人類(lèi)可讀的模式語(yǔ)法,稱為規(guī)范與描述語(yǔ)言。類(lèi)型是表示外觀的自定義對(duì)象。為此,創(chuàng)建一個(gè)名為的新查詢。這意味著無(wú)論何時(shí)在服務(wù)器中發(fā)生事件,并且每當(dāng)調(diào)用該事件時(shí),服務(wù)器都會(huì)將相應(yīng)的數(shù)據(jù)發(fā)送到客戶端。 showImg(https://segmentfault.com/img/bVbm0c1?w=2560&h=1024); 想閱讀更多優(yōu)質(zhì)文章請(qǐng)猛戳GitHub博客,...

    馬忠志 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<