mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-25 07:05:11 +00:00
52 lines
1.6 KiB
Markdown
52 lines
1.6 KiB
Markdown
---
|
|
title: "Nuxt Kit"
|
|
description: "@nuxt/kit provides features for module authors."
|
|
---
|
|
|
|
Nuxt Kit provides composable utilities to make interacting with [Nuxt Hooks](/docs/api/advanced/hooks), the [Nuxt Interface](/docs/guide/going-further/internals#the-nuxt-interface) and developing [Nuxt Modules](/docs/guide/going-further/modules) super easy.
|
|
|
|
::read-more{to="/docs/api/kit"}
|
|
Discover all Nuxt Kit utilities.
|
|
::
|
|
|
|
## Usage
|
|
|
|
### Install Dependency
|
|
|
|
You can install the latest Nuxt Kit by adding it to the `dependencies` section of your `package.json`. However, please consider always explicitly installing the `@nuxt/kit` package even if it is already installed by Nuxt.
|
|
|
|
::note
|
|
`@nuxt/kit` and `@nuxt/schema` are key dependencies for Nuxt. If you are installing it separately, make sure that the versions of `@nuxt/kit` and `@nuxt/schema` are equal to or greater than your `nuxt` version to avoid any unexpected behavior.
|
|
::
|
|
|
|
```json [package.json]
|
|
{
|
|
"dependencies": {
|
|
"@nuxt/kit": "npm:@nuxt/kit-nightly@latest"
|
|
}
|
|
}
|
|
```
|
|
|
|
### Import Kit Utilities
|
|
|
|
```js [test.mjs]
|
|
import { useNuxt } from '@nuxt/kit'
|
|
```
|
|
|
|
:read-more{to="/docs/api/kit"}
|
|
|
|
::note
|
|
Nuxt Kit utilities are only available for modules and not meant to be imported in runtime (components, Vue composables, pages, plugins, or server routes).
|
|
::
|
|
|
|
Nuxt Kit is an [esm-only package](/docs/guide/concepts/esm) meaning that you **cannot** `require('@nuxt/kit')`. As a workaround, use dynamic import in the CommonJS context:
|
|
|
|
```js [test.cjs]
|
|
// This does NOT work!
|
|
// const kit = require('@nuxt/kit')
|
|
async function main() {
|
|
const kit = await import('@nuxt/kit')
|
|
}
|
|
main()
|
|
```
|