Контекст

Исходный код
Nuxt Kit предоставляет утилиты для доступа к контексту выполнения Nuxt из модулей и вспомогательного кода.

Модули Nuxt расширяют фреймворк и упорядочивают код. Когда экземпляр Nuxt не передаётся аргументом, его можно взять из контекста через useNuxt или tryUseNuxt.

В setup модуля экземпляр Nuxt передаётся вторым аргументом — там useNuxt() не обязателен.

useNuxt

Возвращает экземпляр Nuxt из контекста. Выбрасывает ошибку, если Nuxt недоступен.

Использование

import { useNuxt } from '@nuxt/kit'

const setupSomeFeature = () => {
  const nuxt = useNuxt()

  // теперь доступен экземпляр nuxt
  console.log(nuxt.options)
}

Тип

function useNuxt (): Nuxt
Function implementation is missing or not immediately following the declaration.

Возвращаемое значение

useNuxt возвращает экземпляр Nuxt со всеми опциями и методами.

СвойствоТипОписание
optionsNuxtOptionsИтоговая конфигурация Nuxt.
hooksHookable<NuxtHooks>Система хуков: регистрация и подписка на этапы жизненного цикла.
hook(name: string, (...args: any[]) => Promise<void> | void) => () => voidАналог nuxt.hooks.hook — подписка одним колбэком на именованный хук.
callHook(name: string, ...args: any[]) => Promise<any>Аналог nuxt.hooks.callHook — вызов хука и всех подписчиков.
addHooks(configHooks: NestedHooks) => () => voidАналог nuxt.hooks.addHooks — пакетная регистрация хуков.

Примеры

import { 
useNuxt
} from '@nuxt/kit'
export const
setupTranspilation
= () => {
const
nuxt
=
useNuxt
()
if (
nuxt
.
options
.
builder
=== '@nuxt/webpack-builder') {
nuxt
.
options
.
build
.
transpile
||= []
nuxt
.
options
.
build
.
transpile
.
push
('xstate')
} }

tryUseNuxt

Возвращает экземпляр Nuxt из контекста или null, если Nuxt недоступен.

Использование

import { 
tryUseNuxt
} from '@nuxt/kit'
function
setupSomething
() {
const
nuxt
=
tryUseNuxt
()
if (
nuxt
) {
// экземпляр nuxt доступен
console
.
log
(
nuxt
.
options
)
} else {
console
.
log
('Nuxt недоступен')
} }

Тип

function tryUseNuxt (): 
Nuxt
| null
Function implementation is missing or not immediately following the declaration.

Возвращаемое значение

tryUseNuxt возвращает экземпляр Nuxt, если он есть в контексте, иначе null.

Структура экземпляра такая же, как у useNuxt выше.

Примеры

import { 
tryUseNuxt
} from '@nuxt/kit'
interface
SiteConfig
{
title
?: string
} export const
requireSiteConfig
= ():
SiteConfig
=> {
const
nuxt
=
tryUseNuxt
()
if (!
nuxt
) {
return {} } return
nuxt
.
options
.siteConfig
}