Vitejs용 Apollo 및 Vuejs

1839 단어 vueapollographql

Vitejs용 Apollo 및 Vuejs



배경

여기요! 저에게는 Vite 2와 함께 apollo-client를 사용해야 했습니다. Vuejs에서만 작동하는 깨끗한 라이브러리는 없지만 가지고 있는 것으로 관리할 것입니다. Apollo 팀은 반응용으로만 클라이언트를 작성했으므로 @apollo/client/core에서 모든 것을 엉망으로 만들어야 합니다.

시작 🚀



먼저 @apollo/client 패키지를 설치해야 합니다. 이것은 아래 명령으로 수행할 수 있습니다.

npm i @apollo/client // OR yarn add @apollo/client


그런 다음 백엔드와 함께 작동하도록 구성을 설정하기 시작했습니다.

// src/apollo/client.js

import { ApolloClient, HttpLink } from '@apollo/client/core'
import { InMemoryCache } from '@apollo/client/cache'

const httpLink = new HttpLink({
  uri: import.meta.env.VITE_API_URL
})

const apolloClient = new ApolloClient({
  link: httpLink, 
  cache: new InMemoryCache()
})

export default apolloClient



이제 apollo.js를 Vuejs 구성 요소로 가져올 수 있습니다.

// src/components/ApolloHello.vue

<script setup>
import apolloClient from '../apollo/client.js'
import { EXCHANGE_RATES } from '../graphql'

const { data: { rates } } = await apolloClient.query({
  query: EXCHANGE_RATES
})

console.log(rates)
</script>



vite.config.js도 변경해야 합니다.

{
    ...
    optimizeDeps: {
        include: [
            '@apollo/client/core',
            '@apollo/client/cache'
        ]
    },
    rollupInputOptions: {
        external: ['react']
    }
    ...
}



무엇 향후 계획?



이제 Vuejs와 함께 @apollo/client를 사용할 수 있습니다. 이 스택을 시도하려면 다음을 수행할 수 있습니다clone the repository.

좋은 웹페이지 즐겨찾기