iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >vue3.x中的apollo如何使用
  • 119
分享到

vue3.x中的apollo如何使用

2023-07-05 05:07:02 119人浏览 薄情痞子
摘要

今天小编给大家分享一下vue3.x中的apollo如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。通过客户端获取Apo

今天小编给大家分享一下vue3.x中的apollo如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

通过客户端获取Apollo配置

环境

"Vue": "^3.2.41","@vue/cli-service": "~5.0.8",

工具的安装

"@vue/apollo-composable": "^4.0.0-beta.2","@vue/apollo-option": "^4.0.0-beta.2","graphql": "^16.6.0","graphql-tag": "^2.12.6",

获取Apollo配置

相关代码

main.ts 配置建立链接

const HttpLink = createHttpLink({    // You should use an absolute URL here    uri: apiApollo,    // credentials: 'include'})// Cache implementationconst cache = new InMemoryCache()// Create the apollo clientconst apolloClient = new ApolloClient({    link: httpLink,    cache,})const apolloProvider = createApolloProvider({    defaultClient: apolloClient,})const app = createApp(App, {        setup() {            provide(DefaultApolloClient, apolloClient)        }    });

获取数据

import { useQuery } from "@vue/apollo-composable";import gql from "graphql-tag";export default defineComponent({  name:"page-info",  setup(){    const { result, error, onResult, onError } = useQuery(gql`    query getPartners {      partners {        label,        value      }    }    `)    onResult(queryResult => {      console.log("queryResultqueryResult", queryResult.data)      console.log(queryResult.loading)      console.log(queryResult.networkStatus)    })    onError(error => {      console.log("queryResultqueryResult error", error.graphQLErrors)      console.log(error.networkError)    })  }})
错误提示

Use the @apollo/client/core import path otherwise you will also import React.

一定注意引入的位置是import { ApolloClient, createHttpLink, InMemoryCache } from "@apollo/client/core";而不是@apollo/client,否则就会报引入react错误

Uncaught (in promise) Error: Apollo client with id default not found. Use provideapolloClient() if you are outside of a component setup

该方式尝试多种方式都是提示该错误,并且vue3.x 该方式暂时还没有比较完整的文档说明,所以该方式等以后更成熟之后在考虑

通过开放接口获取Apollo配置

根据目前的环境使用客户端的方式获取Apollo配置失败,发现目前官方推荐的还有一种方式便是通过接口获取

通过不带缓存的Http接口从Apollo读取配置

接口URL格式: {config_server_url}/configs/{appId}/{clusterName}/{namespaceName}?releaseKey={releaseKey}&ip={clientIp}

Method方式: GET

参数说明
参数名是否必须参数值备注
config_server_url
Apollo配置服务的地址,非UI界面的地址
appId应用的appId
clusterName集群名 一般情况下传入 default 即可。如果希望配置按集群划分,可以参考集群独立配置说明做相关配置,然后在这里填入对应的集群名。
namespaceNameNamespace的名字,如果没有新建过Namespace的话,传入application即可。如果创建了Namespace,并且需要使用该Namespace的配置,则传入对应的Namespace名字。需要注意的是对于properties类型的namespace,只需要传入namespace的名字即可,如application。对于其它类型的namespace,需要传入namespace的名字加上后缀名,如datasources.JSON
releaseKey上一次的releaseKey将上一次返回对象中的releaseKey传入即可,用来给服务端比较版本,如果版本比下来没有变化,则服务端直接返回304以节省流量和运算
ip应用部署的机器ip这个参数是可选的,用来实现灰度发布。

config_server_url:不是配置的UI界面的DNS,是服务器的DNS,并且两者没有关联,所以如果直接拿界面的DNS获取是获取不到数据的

浏览器方式

https://apollo-config.uat.XXXX/configs/项目ID/项目空间/application

返回数据:

{  "appId": "xxxx",  "cluster": "default",  "namespaceName": "application",  "configurations": {//application 所有配置的值    "title": "Apollo set value"  },  "releaseKey": "2023021"}
请求交互方式
axiOS({  method:'get',  url:'/configs/{appId}/{clusterName}/{namespaceName}'}).then((res:any)=>{  console.log(res)})

交互访问也会返回相同的数据

以上就是“vue3.x中的apollo如何使用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: vue3.x中的apollo如何使用

本文链接: https://www.lsjlt.com/news/349817.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue3.x中的apollo如何使用
    今天小编给大家分享一下vue3.x中的apollo如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。通过客户端获取Apo...
    99+
    2023-07-05
  • vue3.x中apollo的使用案例代码
    目录通过客户端获取Apollo配置环境工具的安装获取Apollo配置相关代码错误提示通过开放接口获取Apollo配置通过不带缓存的Http接口从Apollo读取配置参数说明浏览器方式...
    99+
    2023-02-23
    vue apollo使用 apollo使用
  • vue3.x如何使用jsplumb实现拖拽连线
    小编给大家分享一下vue3.x如何使用jsplumb实现拖拽连线,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下如果想在vue2里面使用jsplumb ...
    99+
    2023-06-29
  • 如何使用Springboot整合Apollo配置中心
    本篇内容介绍了“如何使用Springboot整合Apollo配置中心”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Apollo简介Apoll...
    99+
    2023-06-20
  • vue2.x,vue3.x使用provide/inject注入的区别说明
    目录vue2.x,vue3.x使用provide/inject注入区别provide/inject介绍vue2.x用法vue3.x用法vue的依赖注入问题总结vue2.x,vue3....
    99+
    2023-05-17
    vue3使用provide注入 vue3使用inject注入 vue2使用provide注入 vue2使用inject注入
  • Vite中怎么使用Ant Design Vue3.x框架
    今天小编给大家分享一下Vite中怎么使用Ant Design Vue3.x框架的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我...
    99+
    2023-07-02
  • vue3中的hooks如何使用
    一、 什么是hookshook是钩子的意思,看到“钩子”是不是就想到了钩子函数?事实上,hooks 还真是函数的一种写法。vue3 借鉴 react hooks 开发出了 Composition API ,所以也就意味着 Compositi...
    99+
    2023-05-14
    Vue3 hooks
  • vue3中的getCurrentInstance如何使用
    这篇“vue3中的getCurrentInstance如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue3中的ge...
    99+
    2023-07-06
  • Vue3.x中使用element-plus的各种方式详解
    目录安装element-plus 方式一、全局引入element-plus方式二、单个组件中使用方式三、经过自己封装按需引入1.在项目的src目录下建一个文件夹 globa...
    99+
    2024-04-02
  • 如何利用vue3.x绘制流程图
    这篇文章主要介绍“如何利用vue3.x绘制流程图”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何利用vue3.x绘制流程图”文章能帮助大家解决问题。下面是效果图:整体结构布局:需要实现的功能列表:...
    99+
    2023-07-02
  • Angular X中如何使用ngrx
    这篇文章主要介绍Angular X中如何使用ngrx,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.首先创建一个可路由访问的模块 这里命名为:DemopetModule。包括文件:...
    99+
    2024-04-02
  • vue3中如何使用ts
    目录如何使用tsapp.vueheader.vuelist.vuelistitem.vuefooter.vue如何使用ts 在创建vue脚手架的时候吧typescript选上 app...
    99+
    2024-04-02
  • Vue3中如何使用TypeScript
    这篇文章主要介绍“Vue3中如何使用TypeScript”,在日常操作中,相信很多人在Vue3中如何使用TypeScript问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue3中如何使用TypeScript...
    99+
    2023-07-06
  • Vue3中TypeScript 如何使用
    今天就跟大家聊聊有关Vue3中TypeScript 如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。如何声明字段名为枚举的类型?根据设计,ty...
    99+
    2024-04-02
  • vue3中如何使用JSX
    这篇文章主要介绍了vue3中如何使用JSX的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue3中如何使用JSX文章都会有所收获,下面我们一起来看看吧。在绝大多数情况下,Vue 推荐使用模板<templa...
    99+
    2023-07-04
  • vue3中cookie如何使用
    前言cookie使用最多的地方想必是保存用户的账号与密码,可以避免用户每次登录时都要重新输入1.vue中cookie的安装在终端中输入命令npm install vue-cookies --save,即可安装cookies,安装之后在mai...
    99+
    2023-05-14
    cookie Vue3
  • Vue3中Vuex如何使用
    这篇文章主要介绍“Vue3中Vuex如何使用”,在日常操作中,相信很多人在Vue3中Vuex如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue3中Vuex如何使用”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-07-06
  • vue3.x中emits的基本用法实例
    这是官方的文字介绍。emits重要用于组件之间的通信,触发自定义事件,传递参数。 下面演示一个子组件把事件传递到父组件,组件间通信的例子。 <template> ...
    99+
    2024-04-02
  • vue3中常用的API如何使用
    这篇文章主要介绍了vue3中常用的API如何使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。vue3.x已经发布了这么久,相关的生态也慢慢起来了,包括vite这个新的打包工...
    99+
    2023-06-14
  • Vite中使用Ant Design Vue3.x框架教程示例
    目录引言安装 ant-design-vuemain.js引入,全局使用按需引入引言 官网: https://www.antdv.com/docs/vue/introduce-cn 文...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作