Programmatic Usage
Nuxt Kit provides a set of utilities to help you work with Nuxt programmatically. These functions allow you to load Nuxt, build Nuxt, and load Nuxt configuration.
Programmatic usage can be helpful when you want to use Nuxt programmatically, for example, when building a CLI tool or test utils.
loadNuxt
Load Nuxt programmatically. It will load the Nuxt configuration, instantiate and return the promise with Nuxt instance.
Type
async function loadNuxt (loadOptions?: LoadNuxtOptions): Promise<Nuxt>
interface LoadNuxtOptions extends LoadNuxtConfigOptions {
dev?: boolean
ready?: boolean
rootDir?: string
config?: LoadNuxtConfigOptions['overrides']
}
Parameters
loadOptions
Type: LoadNuxtOptions
Default: {}
Loading conditions for Nuxt. loadNuxt
uses c12
under the hood, so it accepts the same options as c12.loadConfig
with some additional options:
dev
(optional)
Type:boolean
Default:false
If set totrue
, Nuxt will be loaded in development mode.ready
(optional)
Type:boolean
Default:true
If set totrue
, Nuxt will be ready to use after theloadNuxt
call. If set tofalse
, you will need to callnuxt.ready()
to make sure Nuxt is ready to use.rootDir
(optional)
Type:string
Default:null
Deprecated: Usecwd
option instead.
The root directory of the Nuxt project.config
(optional)
Type:LoadNuxtConfigOptions['overrides']
Default:{}
Deprecated: Useoverrides
option instead.
Overrides for the Nuxt configuration.
buildNuxt
Build Nuxt programmatically. It will invoke the builder (currently @nuxt/vite-builder or @nuxt/webpack-builder) to bundle the application.
Type
async function buildNuxt (nuxt: Nuxt): Promise<any>
Parameters
nuxt
Type: Nuxt
Required: true
Nuxt instance to build. It can be retrieved from the context via useNuxt()
call.
loadNuxtConfig
Load Nuxt configuration. It will return the promise with the configuration object.
Type
async function loadNuxtConfig (options: LoadNuxtConfigOptions): Promise<NuxtOptions>
Parameters
options
Type: LoadNuxtConfigOptions
Required: true
Options to pass in c12
loadConfig
call.
writeTypes
Generates tsconfig.json and writes it to the project buildDir.
Type
function writeTypes (nuxt?: Nuxt): void
interface Nuxt {
options: NuxtOptions
hooks: Hookable<NuxtHooks>
hook: Nuxt['hooks']['hook']
callHook: Nuxt['hooks']['callHook']
addHooks: Nuxt['hooks']['addHooks']
ready: () => Promise<void>
close: () => Promise<void>
server?: any
vfs: Record<string, string>
apps: Record<string, NuxtApp>
}
Parameters
nuxt
Type: Nuxt
Required: true
Nuxt instance to build. It can be retrieved from the context via useNuxt()
call.