bla*_*sun 2 apollo vue.js vuejs2 apollo-client vue-apollo
Vue-Apollo 3.04的发行说明指出现在有Apollo Client 3支持。由于该文档阿波罗客户端3声明ApolloClient, InMemoryCache,HttpLink,现在都在一个 @apollo/client封装-不像以前的单包。
https://github.com/vuejs/vue-apollo/releases/tag/v3.0.4
https://www.apollographql.com/docs/react/migrating/apollo-client-3-migration/
但是,Vue-Apollo ( apollo-client-> @apollo/client?)的文档中没有关于如何应用新更改的更改。另外, 阿波罗客户端3 Doc's指出,对于Vue公司,你必须导入ApolloClient从@apollo/client/core
所以我以自己的方式尝试过,但我的导入似乎失败了。我从npmm run serve. 看来他想进口一些react东西。
ERROR Failed to compile with 8 errors 20:25:20
This dependency was not found:
* react in ./node_modules/@apollo/client/react/context/ApolloConsumer.js, ./node_modules/@apollo/client/react/context/ApolloContext.js and 6 others
To install it, you can run: npm install --save react
Run Code Online (Sandbox Code Playgroud)
vue-apollo.js(来自有效的旧项目)
import Vue from 'vue'
import { ApolloClient } from 'apollo-client'
import { HttpLink } from 'apollo-link-http'
import { InMemoryCache } from 'apollo-cache-inmemory'
import VueApollo from 'vue-apollo'
Run Code Online (Sandbox Code Playgroud)
vue-apollo.js(带有新的 apollo 客户端 3)
import Vue from 'vue'
import { ApolloClient } from '@apollo/client/core'
import { InMemoryCache } from '@apollo/client/cache'
import { HttpLink } from '@apollo/client'
import VueApollo from 'vue-apollo'
Run Code Online (Sandbox Code Playgroud)
包.json
"dependencies": {
"@apollo/client": "^3.1.3",
"core-js": "^3.6.5",
"graphql": "^15.3.0",
"js-cookie": "^2.2.1",
"subscriptions-transport-ws": "^0.9.18",
"vue": "^2.6.11",
"vue-apollo": "^3.0.4"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-eslint": "~4.5.0",
"@vue/cli-service": "~4.5.0",
"babel-eslint": "^10.1.0",
"eslint": "^6.7.2",
"eslint-plugin-vue": "^6.2.2",
"extract-text-webpack-plugin": "^4.0.0-beta.0",
"vue-template-compiler": "^2.6.11",
"webpack-bundle-tracker": "^1.0.0-alpha.1"
},
Run Code Online (Sandbox Code Playgroud)
题
如何使用vue apollo正确导入新的apollo 客户端 3?
好吧,休息后我试过了,它奏效了。
vue-apollo.js
import Vue from 'vue'
import { ApolloClient, InMemoryCache, HttpLink } from '@apollo/client/core';
import VueApollo from 'vue-apollo'
Run Code Online (Sandbox Code Playgroud)
现在编译器找到了一切。虽然在Apollo Client 3 Doc 中我只能找到一个关于新 Client 3 和 Vue 的参考,但似乎所有的react东西都来自@apollo/clientVue,其他来自@apollo/client/core.
| 归档时间: |
|
| 查看次数: |
1265 次 |
| 最近记录: |