内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

在vue項目中集成graphql(vue-ApolloClient)

1.什么是graphql

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網綜合服務,包含不限于網站設計制作、成都網站制作、阿魯科爾沁網絡推廣、小程序設計、阿魯科爾沁網絡營銷、阿魯科爾沁企業(yè)策劃、阿魯科爾沁品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供阿魯科爾沁建站搭建服務,24小時服務熱線:18982081108,官方網址:www.rwnh.cn

GraphQL 是一個用于 API 的查詢語言,是一個使用基于類型系統(tǒng)來執(zhí)行查詢的服務端運行時

下圖展示graphql所處的位置

在vue項目中集成graphql(vue-ApolloClient)

2.優(yōu)點

1.GraphQL API 有強類型 schema

GraphQL schema是強類型的,可使用SDL(GraphQL Schema Definition Language)來定義。比如,可以使用構建工具驗證API請求,編譯時檢查API調用可能發(fā)生的錯誤

2.按需獲取

在不添加后端接口的前提下減少不必要的字段,做到前端自主訂閱字段

3.使用 vue集成graphql

1.安裝vue腳手架 npm install -g vue-cli

2.安裝vue-apollo客戶端 vue-apollo graphql apollo-client apollo-link apollo-link-http apollo-cache-inmemory graphql-tag

3.webpack.base.conf.js 安裝加載器加載graphql后綴文件

{
test: /\.(graphql|gql)$/,
exclude: /node_modules/,
loader: 'graphql-tag/loader'
},

4.main.js 添加

import { ApolloClient } from 'apollo-client'
import { HttpLink } from 'apollo-link-http'
import { InMemoryCache } from 'apollo-cache-inmemory'
import VueApollo from 'vue-apollo'

const httpLink = new HttpLink({
// You should use an absolute URL here
//config.js 代理設置
// '/graphql': {
// target: "http://eshipe.net:3000/graphql",
// changeOrigin: true,
// pathRewrite: {
// '^/graphql': '/graphql'
// }
// },
uri: '/graphql',//訪問地址,在這里使用代理
})

// Create the apollo client
const apolloClient = new ApolloClient({
link: httpLink,
cache: new InMemoryCache(),
connectToDevTools: true,
})

// Install the vue plugin
Vue.use(VueApollo)
const apolloProvider = new VueApollo({
defaultClient: apolloClient,
})

new Vue({
router,
store,
provide: apolloProvider.provide(),//注冊全局組件
}).$mount('#app')

5.添加search.graphql文件

//定義查詢
query q_user($id: Int){
User(id: $id){
id
address
name
}
}

6.具體的vue組件中

1.import gql from "graphql-tag";

2.import {q_user} from'search.graphql'

3. 具體方法中使用

this.$apollo.query({
query: q_user,
variables: {
id: 1,
},
}).then(res => {
console.log(res)
}).catch(err => {
console.log(err)
})

4.可能遇到的問題

1.npm版本問題

解決思路:npm版本回退 npm install -g npm@4.6.1

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

分享名稱:在vue項目中集成graphql(vue-ApolloClient)
鏈接分享:http://www.rwnh.cn/article26/jcgjjg.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供自適應網站、網站改版、搜索引擎優(yōu)化、微信公眾號、域名注冊、網站設計

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務器托管
客服| 南靖县| 屯昌县| 武鸣县| 平乐县| 东乡族自治县| 贵德县| 和龙市| 保亭| 临沂市| 阿鲁科尔沁旗| 宜良县| 绥芬河市| 五大连池市| 喜德县| 玉龙| 安平县| 康定县| 社会| 犍为县| 盖州市| 鄂伦春自治旗| 长沙县| 莱西市| 都匀市| 明溪县| 克什克腾旗| 吉安市| 中阳县| 襄城县| 瓮安县| 永登县| 云林县| 芜湖市| 长丰县| 尉氏县| 麻栗坡县| 锡林郭勒盟| 巴林右旗| 汪清县| 嘉祥县|