我在 Apollo、GraphQL 和 Nuxtjs 项目中工作,在设置 Apollo 配置时我收到了这个警告:
link.js:38 Error: You are calling concat on a terminating link, which will have no effect
at new LinkError (linkUtils.js:41)
at concat (link.js:38)
at ApolloLink.webpackJsonp../node_modules/apollo-link/lib/link.js.ApolloLink.concat (link.js:65)
at link.js:13
at Array.reduce (<anonymous>)
at from (link.js:13)
at createApolloClient (index.js:58)
at webpackJsonp../.nuxt/apollo-module.js.__webpack_exports__.a (apollo-module.js:66)
at _callee2$ (index.js:140)
at tryCatch (runtime.js:62)
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
link.js:38 Error: You are calling concat on a terminating link, which will have no effect
at new LinkError (linkUtils.js:41)
at concat (link.js:38)
at ApolloLink.webpackJsonp../node_modules/apollo-link/lib/link.js.ApolloLink.concat (link.js:65)
at link.js:13
at Array.reduce (<anonymous>)
at from (link.js:13)
at createApolloClient (index.js:58)
at webpackJsonp../.nuxt/apollo-module.js.__webpack_exports__.a (apollo-module.js:66)
at _callee2$ (index.js:140)
at tryCatch (runtime.js:62)
Run Code Online (Sandbox Code Playgroud)
我在谷歌上搜索了任何类似的问题,我发现了这个https://github.com/Akryum/vue-cli-plugin-apollo/issues/47 但它没有帮助我。我试图改变:
const link = middlewareLink.concat(httpLink);
Run Code Online (Sandbox Code Playgroud)
到:
const link = Apollo.from([middlewareLink, httpLink]);
Run Code Online (Sandbox Code Playgroud)
但它仍然给我同样的警告,请任何帮助
Gui*_*lem 33
我的解决方案是放在Http LinkApollo Link 数组的末尾(在创建 Apollo Client 时使用)。
...
const param = {
link: ApolloLink.from([
onError(...) =>...,
authLink...,
new HttpLink({
uri: '/graphql',
credentials: 'same-origin'
})
]),
cache: ...,
connectToDevTools: ...
}
new ApolloClient(param);
Run Code Online (Sandbox Code Playgroud)
我正在使用这些库:
apollo-clientapollo-cache-inmemoryapollo-linkapollo-link-httpapollo-link-contextapollo-link-error小智 13
就我而言,我解决了这个问题,更改了数组中的顺序,例如:
前:
const links = [...middlewares, localLink, authLink, httpLink, errorLink]
Run Code Online (Sandbox Code Playgroud)
后:
const links = [...middlewares, localLink, authLink, errorLink, httpLink]
Run Code Online (Sandbox Code Playgroud)
小智 5
我注意到在 vue-apollo 自述文件中有一些关于 apolloClient 配置的文档,它说您可以关闭 defaultHttpLink 以使用终止链接。
return {
link,
cache: new InMemoryCache()
defaultHttpLink: false, // this should do the trick
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10107 次 |
| 最近记录: |