Nuxt Nation 大会即将到来。加入我们,时间为 11 月 12 日至 13 日。

jsonapi
nuxt-jsonapi

Nuxt 的简易 JSON:API 客户端集成

Nuxt JSON:API logo

nuxt-jsonapi

npm version npm downloads Github Actions CI Codecov License

Nuxt.js 的简易 JSON:API 客户端集成

📖   发行说明

版本 2.x 支持 Nuxt 3.x

版本 1.x 支持 Nuxt 2.x

简介

nuxt-jsonapiNuxt 添加了简易的 JSON:API 客户端集成。它是一个围绕优秀的 Kitsu JSON:API 客户端的松散包装器。

此模块全局注入一个 $jsonApi 实例,您可以使用它通过 this.$jsonApi(选项 API)或 const { $jsonApi } = useNuxtApp()(组合 API)在任何地方访问客户端。

设置

  1. nuxt-jsonapi 依赖项添加到您的项目中
yarn add nuxt-jsonapi # or npm install nuxt-jsonapi
  1. nuxt-jsonapi 添加到 nuxt.config.jsmodules 部分
{
  modules: [
    // Simple usage
    'nuxt-jsonapi',

    // With options
    [
      'nuxt-jsonapi',
      {
        baseURL: 'http://www.example.com/api',
        /* other module options */
      },
    ],
  ]
}
  1. 如果您没有使用步骤 #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>

开发

  1. 克隆此存储库
  2. 使用 yarn installnpm install 安装依赖项
  3. 使用 yarn devnpm run dev 启动开发服务器
  4. 使用 yarn testnpm run test 运行自动化测试
  • 运行 npm run dev:prepare 以生成类型存根。
  • 使用 npm run dev 以开发模式启动 游乐场

许可证

MIT 许可证

版权所有 (c) Patrick Cate