搜索

首页  >  问答  >  正文

使用Nuxt Composition API和Nuxt Apollo模块的技巧和指南

<p>为什么我可以在nuxt组合API中使用nuxt apollo模块?如果我尝试使用这个插件示例:</p> <pre class="brush:php;toolbar:false;">import {Context} from '@nuxt/types' import { provide, onGlobalSetup, defineNuxtPlugin } from '@nuxtjs/composition-api' import {DefaultApolloClient} from '@vue/apollo-composable/dist' /*** 这个插件将连接@nuxt/apollojs和@vue/apollo-composable*/ export default defineNuxtPlugin(({app}: Context): void => { onGlobalSetup(() => { provide(DefaultApolloClient, app.apolloProvider?.defaultClient) }) })</pre> <p>我得到了这个错误:<code>Error: Apollo client with id default not found. Use provideApolloClient() if you are outside of a component setup</code></p>
P粉134288794P粉134288794482 天前600

全部回复(1)我来回复

  • P粉399585024

    P粉3995850242023-08-27 00:00:55

    1. 安装 vue/apollo-composable: npm install --save @vue/apollo-composable

    2. 创建 nuxt 插件(provide-apollo-client.ts):

    import { Context } from '@nuxt/types'
    import {
      onGlobalSetup,
      defineNuxtPlugin
    } from '@nuxtjs/composition-api'
    // @ts-ignore
    import { provideApolloClient } from '@vue/apollo-composable'
    
    /**
     * This plugin will connect @nuxt/apollojs with @vue/apollo-composable
     */
    
    export default defineNuxtPlugin(({ app }: Context): void => {
      onGlobalSetup(() => {
        provideApolloClient(app.apolloProvider?.defaultClient)
      })
    })

    回复
    0
  • 取消回复