nuxt-jsonapi
為 Nuxt.js 提供簡單的 JSON:API 客戶端整合
版本 2.x
支援 Nuxt 3.x
。
版本 1.x
支援 Nuxt 2.x
簡介
nuxt-jsonapi
為 Nuxt 添加了簡單的 JSON:API 客戶端整合。它是對優秀的 Kitsu JSON:API 客戶端的一個鬆散封裝。
這個模組會全域注入一個 $jsonApi
實例,您可以使用 this.$jsonApi
(選項 API) 或 const { $jsonApi } = useNuxtApp()
(組合 API) 在任何地方存取該客戶端。
設定
- 將
nuxt-jsonapi
依賴項添加到您的專案
yarn add nuxt-jsonapi # or npm install nuxt-jsonapi
- 將
nuxt-jsonapi
添加到nuxt.config.js
的modules
區段
{
modules: [
// Simple usage
'nuxt-jsonapi',
// With options
[
'nuxt-jsonapi',
{
baseURL: 'http://www.example.com/api',
/* other module options */
},
],
]
}
- 如果您在步驟 #2 沒有傳遞選項,請在您的
nuxt.config.js
中新增一個jsonApi
物件來設定模組選項
export default {
modules: ['nuxt-jsonapi'],
jsonApi: {
baseURL: 'http://www.example.com/api',
/* other module options */
},
}
❗ 重要
如果您沒有指定 baseURL
選項,將會使用預設的 /jsonapi
URL。這幾乎肯定不是您想要的,請務必正確設定。
使用方式
請參閱 Kitsu 的優秀文件,以了解客戶端提供的所有功能。
您可以使用以下方式存取客戶端
選項 API
this.$jsonApi
範例
export default defineNuxtComponent({
async asyncData({ $jsonApi }) {
const { data } = await $jsonApi.get('/article')
return {
articles: data,
}
},
})
組合 API
const { $jsonApi } = useNuxtApp()
範例
<script setup>
import { useNuxtApp, useAsyncData } from '#app'
const { $jsonApi } = useNuxtApp()
const { data: articles } = await useAsyncData(() => $jsonApi.get('/article'), {
transform: ({ data }) => data,
})
</script>
開發
- 複製此儲存庫
- 使用
yarn install
或npm install
安裝依賴項 - 使用
yarn dev
或npm run dev
啟動開發伺服器 - 使用
yarn test
或npm run test
執行自動化測試
- 執行
npm run dev:prepare
以產生類型存根。 - 使用
npm run dev
以開發模式啟動 playground。
授權條款
版權所有 (c) Patrick Cate