如何以与@nuxt/apollo subscribeToMore 一起使用的方式设置我的 nuxt

     2023-03-10     235

关键词:

【中文标题】如何以与@nuxt/apollo subscribeToMore 一起使用的方式设置我的 nuxt【英文标题】:How do I setup my nuxt in a way that with @nuxt/apollo subscribeToMore works 【发布时间】:2021-08-15 17:48:18 【问题描述】:

在我们的 nuxt 项目中使用 @nuxt/apollo 时。由于某种原因,我不断得到

期待一个已解析的 GraphQL 文档。也许您需要将查询字符串包装在“gql”标签中? http://docs.apollostack.com/apollo-client/core.html#gql

作为来自 Nuxt 的错误消息。 我使用以下语法:

apollo: 
  items: 
    $subscribeToMore: 
        // below is the subscription query.
        document: gql`
         subscription($Group: String!)
           agents(Group: $Group)
             _id
             name
            
           
        `,
        variables () 
          return 
            Group: Object.keys(this.$auth.user.app_access)[0],
          
        ,
        updateQuery: (previousResult,  subscriptionData ) => 
          console.log(subscriptionData);
          return subscriptionData.data; 
        
      ,
   
,

我的 apollo 配置如下所示:

module.exports = function (ctx) 
  const httpEndpoint = ctx.route.path.includes('/app/cmb') ? process.env.GRAPHQL_HTTP_ENDPOINT : process.env.GRAPHQL_HTTP_ENDPOINT_IAM
  const wsEndpoint = ctx.route.path.includes('/app/cmb') ? process.env.GRAPHQL_WS_ENDPOINT : process.env.GRAPHQL_WS_ENDPOINT_IAM
  return 
    httpEndpoint,
    wsEndpoint,
    tokenName: 'auth._token.keycloak',
    inMemoryCacheOptions: 
      addTypename: false,
    ,
    fetchOptions:  mode: 'no-cors' ,
    authenticationType: 'Bearer',
    getAuth: (tokenName) => 
      if (process.client) 
        return localStorage.getItem(tokenName)
       else 
        // get token from cookie in server side request
        return this.__VUE_s-s-r_CONTEXT__.req.headers.cookie.split('; ').reduce((acc, item) => 
          const split = item.split('=')

          if (split[0] === tokenName) 
            acc = decodeURIComponent(split[1]) // decode cookie value
          

          return acc
        , '')
      
    ,
    credentials: 'include'
  

在 nuxt.config 我有以下内容:

apollo: 
    clientConfigs: 
      default: '~/apollo.config.js'
    ,
    authenticationType: 'Bearer',
    tokenName: 'auth._token.keycloak'
  ,

package.json 中的 nuxt apollo:"@nuxtjs/apollo": "^4.0.1-rc.5",

有人可以告诉我如何设置正确的方式来进行多个订阅。只有一个订阅可以正常工作,但是当我想使用 subscribeToMore 添加多个订阅时,事情就会变得混乱。

【问题讨论】:

抱歉,这不是问题所在。我已经这样做了。 【参考方案1】:

您是否导入了gql

import gql from 'graphql-tag'

如 vue-apollo 文档中所示:https://apollo.vuejs.org/guide/apollo/queries.html#simple-query

【讨论】:

我做到了。这不是问题。

Nuxt / Apollo - 设置授权标头

】Nuxt/Apollo-设置授权标头【英文标题】:Nuxt/Apollo-SetAuthorizationHeader【发布时间】:2021-04-0719:01:04【问题描述】:我正在尝试使用nuxtjs创建登录功能,并在后端使用apollo-server使用nuxtjsapollo-module和nodejs。我想将令牌从前端(nuxtjs/apol... 查看详情

Nuxt + GraphQL (Apollo) 上传文件

】Nuxt+GraphQL(Apollo)上传文件【英文标题】:Nuxt+GraphQL(Apollo)uploadfiles【发布时间】:2021-12-1012:17:16【问题描述】:我目前正在使用@nuxt/apollo模块。此模块是否适用于文件上传或我需要将HTTPLink更改为另一个?【问题讨论】:这能回... 查看详情

可以结合 apollo 查询(在 nuxt 内?)

】可以结合apollo查询(在nuxt内?)【英文标题】:Possibletocombineapolloqueries(withinnuxt?)【发布时间】:2019-12-2110:16:14【问题描述】:我正在使用nuxt和apollo以及:https://github.com/nuxt-community/apollo-module我有一个有效的GraphQL查询(在Graphi... 查看详情

Nuxt Apollo Shopify Graphql

】NuxtApolloShopifyGraphql【英文标题】:【发布时间】:2020-04-2205:27:46【问题描述】:所以我使用https://github.com/nuxt-community/apollo-module我正在尝试将其设置为连接到我的shopifygraphqlAPI在nuxt.config.js上:apollo:clientConfigs:default:httpEndpoint:\'h... 查看详情

当我使用 \nuxt\strapi\ nuxt/apollo 时,它总是告诉Cannot read property 'content' of undefined

】当我使用\\\\nuxt\\\\strapi\\\\nuxt/apollo时,它总是告诉Cannotreadproperty\\\'content\\\'ofundefined【英文标题】:whenIuse\\nuxt\\strapi\\nuxt/apollo,italwaystoldCannotreadproperty\'content\'ofundefined当我使用\\nuxt\\strapi\\nuxt/apollo时,它总是 查看详情

为啥将 Apollo 与 Nuxt 一起使用需要 graphql-tag?

】为啥将Apollo与Nuxt一起使用需要graphql-tag?【英文标题】:Whyisgraphql-tagneededtouseApollowithNuxt?为什么将Apollo与Nuxt一起使用需要graphql-tag?【发布时间】:2021-09-1310:28:30【问题描述】:我试图理解为什么大多数关于Nuxt和Apollo的教程... 查看详情

Nuxt Apollo 模块请求授权标头,带有双 'Bearer'

】NuxtApollo模块请求授权标头,带有双\\\'Bearer\\\'【英文标题】:NuxtApollomodulerequestauthorizationheaderwithdouble\'Bearer\'NuxtApollo模块请求授权标头,带有双\'Bearer\'【发布时间】:2020-07-3107:01:43【问题描述】:在我的Nuxt应用程序中,我将... 查看详情

Nuxt apollo 智能查询被调用了两次。引擎盖下会发生啥?

】Nuxtapollo智能查询被调用了两次。引擎盖下会发生啥?【英文标题】:Nuxtapollosmartqueryiscalledtwice.Whathappensunderthehood?Nuxtapollo智能查询被调用了两次。引擎盖下会发生什么?【发布时间】:2020-01-0721:04:31【问题描述】:我在s-s-r模... 查看详情

我可以使用 Nuxt Apollo 本地状态来完全替换 Vuex 吗?

】我可以使用NuxtApollo本地状态来完全替换Vuex吗?【英文标题】:CanIuseNuxtApollolocalstatetoreplaceVuexentirely?【发布时间】:2021-02-2319:06:59【问题描述】:我正在使用GraphQLAPI构建Nuxt应用,通过VueApollo的nuxt模块连接。我目前正在使用Vue... 查看详情

如何配置我的 Nuxt 前端应用程序以了解使用 Strapi 的后端的 baseUrl?

】如何配置我的Nuxt前端应用程序以了解使用Strapi的后端的baseUrl?【英文标题】:HowdoIconfiguremyNuxtfrontendapplicationtoknowthebaseUrlofthebackendwhichusesStrapi?【发布时间】:2020-04-1302:58:43【问题描述】:我一直在关注这两个教程:Deliverooclon... 查看详情

如何测试 vuex 插件 store.subscribe

】如何测试vuex插件store.subscribe【英文标题】:Howtotestvuexpluginsstore.subscribe【发布时间】:2018-12-1315:23:50【问题描述】:我正在使用jest来测试一个vue应用程序,我对如何测试插件代码有疑问。这是我要测试的代码:exportconstpersistPl... 查看详情

SUBSCRIBE 请求如何终止 SIP 对话?

】SUBSCRIBE请求如何终止SIP对话?【英文标题】:HowisaSUBSCRIBErequestcanterminateaSIPdialog?【发布时间】:2019-03-2513:37:23【问题描述】:“SUBSCRIBE”请求如何终止SIP对话?【问题讨论】:【参考方案1】:您应该在rfc6665中找到所有答案。... 查看详情

如何运行 babel.transform 以与 Nashorn 做出反应?

】如何运行babel.transform以与Nashorn做出反应?【英文标题】:Howtorunbabel.transformforreactwithNashorn?【发布时间】:2015-12-1517:18:04【问题描述】:我正在尝试使用babel.transform而不是JSXTranformer进行反应。...ScriptEngineManagermgr=newScriptEngineMana... 查看详情

如何延迟音频播放以与 FFT 同步

】如何延迟音频播放以与FFT同步【英文标题】:HowtodelayaudioplaybacktosyncwithFFT【发布时间】:2017-10-2105:00:48【问题描述】:我正在使用C#WPF进行实时FFT。我正在使用NAudio的WaveIn和BufferedWaveProvider来捕捉StereoMix录制的任何声音。我每... 查看详情

如何以与云无关的方式使用 Terraform

】如何以与云无关的方式使用Terraform【英文标题】:HowtouseTerraforminacloudagnosticway【发布时间】:2017-08-0423:32:48【问题描述】:我看过很多关于如何使用Terraform启动AWS资源的示例。我还看到许多声称Terraform与云无关的说法。我还没... 查看详情

如何以与 iPhoto 相同的方式订购 ALAssetsGroup

】如何以与iPhoto相同的方式订购ALAssetsGroup【英文标题】:HowtoorderALAssetsGroupthesamewayiPhotodoes【发布时间】:2014-03-2321:28:26【问题描述】:我可以通过ALAssetsGroupAlbum枚举并创建一个按专辑名称排序的NSMutableArray,如下所示,没有问... 查看详情

如何连接多个音频输出通道以与 PyAudio 一起使用?

】如何连接多个音频输出通道以与PyAudio一起使用?【英文标题】:HowtoconnectmultipleaudiooutputchannelsforusewithPyAudio?【发布时间】:2017-12-2515:19:57【问题描述】:我是PyAudio和音频操作的新手,所以这是一个非常基本的问题,我还没有... 查看详情

如何以与 VBScript 相同的方式解析命令行

】如何以与VBScript相同的方式解析命令行【英文标题】:Howtoparseacommand-lineinthesamewaythatVBScriptdoes【发布时间】:2019-01-1911:58:09【问题描述】:我有一个简单的C++程序,它列出了它得到的参数:#include<iostream>intmain(intargc,char*argv... 查看详情