2022-10-06 09:15:30 +00:00
---
title: "Kit Utilities"
description: Nuxt Kit provides composable utilities to help interacting with Nuxt Hooks and Nuxt Builder.
---
2022-04-06 05:56:08 +00:00
# Kit Utilities
2022-01-27 17:02:42 +00:00
2022-11-16 17:21:08 +00:00
::ReadMore{link="/docs/guide/going-further/kit"}
2022-01-27 17:02:42 +00:00
::
2023-07-28 14:36:01 +00:00
# Utilities
2022-01-27 17:02:42 +00:00
2023-07-28 14:36:01 +00:00
## Modules
2022-01-27 17:02:42 +00:00
2023-01-19 19:37:07 +00:00
[source code ](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/module )
2022-01-27 17:02:42 +00:00
2023-07-28 14:46:02 +00:00
### `installModule`
2023-07-28 14:51:17 +00:00
Install specified Nuxt module programmatically. This is helpful when your module depends on other modules. You can pass the module options as an object to `inlineOptions` and they will be passed to the module's `setup` function.
2023-07-28 14:46:02 +00:00
#### Type
```ts
async function installModule (moduleToInstall: string | NuxtModule, inlineOptions?: any, nuxt?: Nuxt)
```
2023-07-28 13:00:44 +00:00
2023-07-28 14:46:02 +00:00
#### Examples
2023-07-28 14:50:59 +00:00
2023-07-28 13:00:44 +00:00
```ts
import { defineNuxtModule, installModule } from '@nuxt/kit'
export default defineNuxtModule< ModuleOptions > ({
async setup (options, nuxt) {
// will install @nuxtjs/fontaine with Roboto font and Impact fallback
await installModule('@nuxtjs/fontaine', {
// module configuration
fonts: [
{
family: 'Roboto',
fallbacks: ['Impact'],
fallbackName: 'fallback-a',
}
]
})
}
})
```
2022-01-27 17:02:42 +00:00
2023-07-28 14:36:01 +00:00
## Programmatic Usage
2022-01-27 17:02:42 +00:00
2023-01-19 19:37:07 +00:00
[source code ](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/loader )
2022-01-27 17:02:42 +00:00
- `loadNuxt(loadOptions)`
- `buildNuxt(nuxt)`
- `loadNuxtConfig(loadOptions)`
2023-07-28 14:36:01 +00:00
## Compatibility
2022-01-27 17:02:42 +00:00
2023-01-19 19:37:07 +00:00
[source code ](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/compatibility.ts )
2022-01-27 17:02:42 +00:00
- `checkNuxtCompatibility(constraints)`
- `assertNuxtCompatibility(constraints)`
- `hasNuxtCompatibility(constraints)`
- `isNuxt2()`
- `isNuxt3()`
- `getNuxtVersion()`
2023-07-28 14:36:01 +00:00
## Auto-imports
2022-08-22 13:32:34 +00:00
2023-01-19 19:37:07 +00:00
[source code ](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/imports.ts )
2022-08-22 13:32:34 +00:00
2022-09-15 11:20:53 +00:00
- `addImports(imports)`
2023-04-29 22:21:45 +00:00
- `addImportsDir(importDirs, { prepend? })`
2022-11-16 02:26:35 +00:00
- `addImportsSources(importSources)`
2022-08-22 13:32:34 +00:00
2023-07-28 14:36:01 +00:00
## Components
2022-01-27 17:02:42 +00:00
2023-01-19 19:37:07 +00:00
[source code ](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/components.ts )
2022-01-27 17:02:42 +00:00
- `addComponentsDir(dir)`
- `addComponent(componentObject)`
2023-07-28 14:36:01 +00:00
## Context
2022-01-27 17:02:42 +00:00
2023-01-19 19:37:07 +00:00
[source code ](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/context.ts )
2022-01-27 17:02:42 +00:00
- `useNuxt()`
2023-07-28 14:36:01 +00:00
## Pages
2022-11-10 08:41:34 +00:00
2023-01-19 19:37:07 +00:00
[source code ](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/pages.ts )
2022-11-10 08:41:34 +00:00
- `extendPages (callback: pages => void)`
2023-01-21 16:54:02 +00:00
- `extendRouteRules (route: string, rule: NitroRouteConfig, options: ExtendRouteRulesOptions)`
2023-02-06 23:24:56 +00:00
- `addRouteMiddleware (input: NuxtMiddleware | NuxtMiddleware[], options: AddRouteMiddlewareOptions)`
2022-11-10 08:41:34 +00:00
2023-07-28 14:36:01 +00:00
## Plugins
2022-01-27 17:02:42 +00:00
2023-01-19 19:37:07 +00:00
[source code ](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/plugin.ts )
2022-01-27 17:02:42 +00:00
- `addPlugin(pluginOptions, { append? })`
- `addPluginTemplate(pluginOptions, { append? })`
2023-07-28 14:36:01 +00:00
## Templates
2022-01-27 17:02:42 +00:00
2023-01-19 19:37:07 +00:00
[source code ](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/template.ts )
2022-01-27 17:02:42 +00:00
- `addTemplate(templateOptions)`
2023-06-09 21:24:03 +00:00
- `addTypeTemplate(templateOptions)`
2022-10-24 08:53:02 +00:00
- `updateTemplates({ filter?: ResolvedNuxtTemplate => boolean })`
2022-01-27 17:02:42 +00:00
2023-07-28 14:36:01 +00:00
## Nitro
2022-01-27 17:02:42 +00:00
2023-01-19 19:37:07 +00:00
[source code ](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/nitro.ts )
2022-01-27 17:02:42 +00:00
2022-05-06 13:31:52 +00:00
- `addServerHandler (handler)`
- `addDevServerHandler (handler)`
2022-09-15 16:10:50 +00:00
- `useNitro()` (only usable after `ready` hook)
2022-11-03 21:03:12 +00:00
- `addServerPlugin`
- `addPrerenderRoutes`
2022-01-27 17:02:42 +00:00
2023-07-28 14:36:01 +00:00
## Resolving
2022-01-27 17:02:42 +00:00
2023-01-19 19:37:07 +00:00
[source code ](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/resolve.ts )
2022-01-27 17:02:42 +00:00
- `resolvePath (path, resolveOptions?)`
2022-02-07 21:00:20 +00:00
- `resolveAlias (path, aliases?)`
- `findPath (paths, resolveOptions?)`
2022-02-07 21:39:31 +00:00
- `createResolver (base)`
2022-01-27 17:02:42 +00:00
2023-07-28 14:36:01 +00:00
## Logging
2022-08-22 13:32:34 +00:00
2023-01-19 19:37:07 +00:00
[source code ](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/logger.ts )
2022-08-22 13:32:34 +00:00
- `useLogger(scope?)`
2023-07-28 14:36:01 +00:00
## Builder
2022-01-27 17:02:42 +00:00
2023-01-19 19:37:07 +00:00
[source code ](https://github.com/nuxt/nuxt/blob/main/packages/kit/src/build.ts )
2022-01-27 17:02:42 +00:00
- `extendWebpackConfig(callback, options?)`
- `extendViteConfig(callback, options?)`
- `addWebpackPlugin(webpackPlugin, options?)`
- `addVitePlugin(vitePlugin, options?)`