努克斯。尝试使用apollo graphql时,我遇到了几个我没有遇到的错误';我不能只和vue相处

努克斯。尝试使用apollo graphql时,我遇到了几个我没有遇到的错误';我不能只和vue相处,graphql,nuxt.js,vue-apollo,Graphql,Nuxt.js,Vue Apollo,我已经在vue中集成了apollo graphql(不含nuxt),并且成功了 但现在我试着从Nuxt开始。 在文件夹插件中,我包含了一个带有apollo初始化的js文件 然后在一个vue文件中,我导入该文件时使用:import'~/plugins/apollo client'(我从这里得到了这个想法:) 我遇到了很多错误,比如不能使用本地存储。 为此,我安装了一个名为npm I numxt storage的软件包 但是在split命令中: const link = split( ({ qu

我已经在vue中集成了apollo graphql(不含nuxt),并且成功了

但现在我试着从Nuxt开始。 在文件夹插件中,我包含了一个带有apollo初始化的js文件

然后在一个vue文件中,我导入该文件时使用:
import'~/plugins/apollo client'
(我从这里得到了这个想法:)

我遇到了很多错误,比如不能使用本地存储。 为此,我安装了一个名为npm I numxt storage的软件包

但是在split命令中:

const link = split(
  ({ query }) => {
    const { kind, operation } = getMainDefinition(query)
    return kind === 'OperationDefinition' && operation === 'subscription'
  }, 
  wsLink,
  httpLink,
)
我收到此错误:
无法读取null的属性“request”

我担心在这个问题解决之后,我会遇到更多的错误

我做错了什么

我应该把main.js中的代码放在哪里


谢谢。

如果您没有使用nuxt apollo,它应该会更好

您得到的错误一定是由于缺少步骤

npm i @nuxtjs/apollo &&
npm install --save @nuxtjs/apollo
# if you are using *.gql or *.graphql files add graphql-tag to your dependencies 
npm install --save graphql-tag
  • 您需要按照上面所述设置配置

    numxt.config.js
    中:

    export default {
      ...
      modules: ['@nuxtjs/apollo'],
      apollo: {
        clientConfigs: {
          default: {
            httpEndpoint: 'https://api.graph.cool/simple/v1/cj1dqiyvqqnmj0113yuqamkuu' //link to your graphql backend.
          }
        }
      }
    }
    
  • 提出你的问题

    gql/allCars.gql
    中:

    {
      allCars {
        id
        make
        model
        year
      }
    }
    
  • 在组件中使用graphql

    页面/index.vue
    中:

    <script>
    import allCars from '~/apollo/queries/allCars'
    export default {
      apollo: {
        allCars: {
          prefetch: true,
          query: allCars
        }
      },
      head: {
        title: 'Cars with Apollo'
      }
    }
    </script>
    
    
    从“~/apollo/querys/allCars”导入所有汽车
    导出默认值{
    阿波罗:{
    所有车辆:{
    预回迁:对,
    查询:所有汽车
    }
    },
    负责人:{
    标题:“阿波罗汽车”
    }
    }
    

  • 谢谢我终于把项目转移到了quasar。