Easy JSON:API client integration for Nuxt.js
Version 2.x
support Nuxt 3.x
.
Version 1.x
supports Nuxt 2.x
nuxt-jsonapi
adds easy JSON:API client integration to Nuxt. It is a loose wrapper around the excellent Kitsu JSON:API client.
This module globally injects a $jsonApi
instance you can use to access the client anywhere using this.$jsonApi
(options API) or const { $jsonApi } = useNuxtApp()
(composition API).
nuxt-jsonapi
dependency to your projectnpm run add nuxt-jsonapi # or npm install nuxt-jsonapi
nuxt-jsonapi
to the modules
section of nuxt.config.js
{
modules: [
// Simple usage
'nuxt-jsonapi',
// With options
[
'nuxt-jsonapi',
{
baseURL: 'http://www.example.com/api',
/* other module options */
},
],
]
}
jsonApi
object to your nuxt.config.js
to configure module options:export default {
modules: ['nuxt-jsonapi'],
jsonApi: {
baseURL: 'http://www.example.com/api',
/* other module options */
},
}
If you do not specify a baseURL
option, a default /jsonapi
URL will be used. This is almost certainly not what you want so be sure it is set correctly.
Refer to Kitsu's excellent documentation for all the feature's the client offers.
You can access the client with:
this.$jsonApi
Example:
export default defineNuxtComponent({
async asyncData({ $jsonApi }) {
const { data } = await $jsonApi.get('/article')
return {
articles: data,
}
},
})
const { $jsonApi } = useNuxtApp()
Example:
<script setup>
import { useNuxtApp, useAsyncData } from '#app'
const { $jsonApi } = useNuxtApp()
const { data: articles } = await useAsyncData(() => $jsonApi.get('/article'), {
transform: ({ data }) => data,
})
</script>
yarn install
or npm install
yarn dev
or npm run dev
yarn test
or npm run test
npm run dev:prepare
to generate type stubs.npm run dev
to start playground in development mode.Copyright (c) Patrick Cate