Composition Api screenshot

Composition Api

Author Avatar Theme by Nuxt community
Updated: 5 Dec 2024
708 Stars

Composition API hooks for Nuxt 2.

Categories

Overview:

@nuxtjs/composition-api is a library that allows developers to use the Vue Composition API with Nuxt-specific features. It provides support for various features such as fetching data, accessing router, app, and store within the setup function, interacting with vue-meta properties, automatic stringification and hydration, SSR support, and compatibility with TypeScript. The library is written in TypeScript and is licensed under the MIT License.

Features:

  • Fetch: Support for the new Nuxt fetch() in v2.12+
  • Context: Easy access to router, app, store within setup()
  • Head: Interact directly with your vue-meta properties within setup()
  • Automatic hydration: Drop-in replacement for ref with automatic SSR stringification and hydration (ssrRef)
  • SSR support: Allows using the Composition API with SSR
  • TypeScript: Written in TypeScript

Installation:

To install @nuxtjs/composition-api, you can follow these steps:

  1. Clone the repository:

    git clone https://github.com/nuxt-community/composition-api.git
    
  2. Install the dependencies and build the project:

    cd composition-api
    npm install
    npm run build
    
  3. Use yarn link to test the module locally with your Nuxt project:

    cd path/to/your/nuxt/project
    yarn link @nuxtjs/composition-api
    
  4. Import and use the library in your Nuxt project’s code:

    import { ... } from '@nuxtjs/composition-api'
    // other code
    

Summary:

@nuxtjs/composition-api is a library that enables developers to utilize the Vue Composition API in their Nuxt projects. It provides a range of features such as support for Nuxt’s fetch method, easy access to router, app, and store within the setup function, interaction with vue-meta properties, automatic stringification and hydration of data, SSR support, and compatibility with TypeScript. The library can be installed by cloning the repository and building the project, and it is licensed under the MIT License. Feedback and contributions are welcome on the project’s GitHub page.