中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-09-27 14:09:27 來源:腳本之家 閱讀:152 作者:John_zhang 欄目:web開發

1.什么是graphql

GraphQL 是一個用于 API 的查詢語言,是一個使用基于類型系統來執行查詢的服務端運行時

下圖展示graphql所處的位置

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

2.優點

1.GraphQL API 有強類型 schema

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

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

九龙坡区| 柯坪县| 宜城市| 扎囊县| 甘肃省| 海安县| 泰来县| 深泽县| 襄城县| 崇信县| 朝阳县| 天门市| 洱源县| 太仆寺旗| 陆良县| 建昌县| 鹤峰县| 金堂县| 邳州市| 鹰潭市| 临邑县| 宣汉县| 大邑县| 久治县| 贡嘎县| 新邵县| 奉节县| 天峨县| 剑阁县| 巴彦县| 锡林浩特市| 广昌县| 长宁区| 金塔县| 桓台县| 阜新市| 綦江县| 文安县| 桃江县| 绥棱县| 崇阳县|