Co-authored-by: Dan Pastori <dan@521dimensions.com> Co-authored-by: Anthony Fu <anthonyfu117@hotmail.com> Co-authored-by: pooya parsa <pyapar@gmail.com>
3.3 KiB
Nuxt Kit
Nuxt Kit provides composable utilities to make interacting with Nuxt Hooks and Nuxt Builder Core and developing Nuxt Modules super easy!
Usage
Install dependency
You can install the latest nuxt kit by adding it to dependencies
of package.json
. However, please consider always explicitly installing the @nuxt/kit
package even if it is already installed by nuxt.
{
"dependencies": {
"@nuxt/kit": "npm:@nuxt/kit-edge@latest"
}
}
Import kit utilities
import { useNuxt } from '@nuxt/kit'
::alert{type="warning"} 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 meaning you cannot require('@nuxt/kit')
. As a workaround, we can use dynamic import to use it in the CommonJS context:
// This does NOT work!
// const kit = require('@nuxt/kit')
async function main() {
const kit = await import('@nuxt/kit')
}
main()
Use kit utilities
Nuxt context is globally available using unjs/unctx. Because of this, most kit composables do not need to have nuxt
instances explicitly passed.
import { getNuxtVersion } from '@nuxt/kit'
// 3.0.0
console.log(getNuxtVersion())
Utilities
Modules
installModule(module, inlineOptions)
Programmatic usage
loadNuxt(loadOptions)
buildNuxt(nuxt)
loadNuxtConfig(loadOptions)
Compatibility
checkNuxtCompatibility(constraints)
assertNuxtCompatibility(constraints)
hasNuxtCompatibility(constraints)
isNuxt2()
isNuxt3()
getNuxtVersion()
Components
addComponentsDir(dir)
addComponent(componentObject)
Context
useNuxt()
Plugins
addPlugin(pluginOptions, { append? })
addPluginTemplate(pluginOptions, { append? })
Templates
addTemplate(templateOptions)
Server
addServerMiddleware(serverMiddleware)
Resolving
resolvePath (path, resolveOptions?)
resolveAlias (path, aliases?)
findPath (paths, resolveOptions?)
createResolver (base)
Builder
extendWebpackConfig(callback, options?)
extendViteConfig(callback, options?)
addWebpackPlugin(webpackPlugin, options?)
addVitePlugin(vitePlugin, options?)