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 中沒有傳遞選項,請將
jsonApi
物件新增至您的nuxt.config.js
以設定模組選項
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