Контекст

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

Модули Nuxt позволяют вам расширить возможности Nuxt. Они предоставляют структурированный способ сохранения вашего кода организованным и модульным. Если вы ищете способ разделить ваш модуль на более мелкие компоненты, Nuxt предоставляет функции useNuxt и tryUseNuxt. Эти функции позволяют вам удобно получить доступ к экземпляру Nuxt из контекста, не передавая его в качестве аргумента.

В функции setup модулей Nuxt экземпляр 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 с опциями и методами Nuxt.

СвойствоТипОписание
optionsNuxtOptionsИтоговая конфигурация Nuxt.
hooksHookable<NuxtHooks>Система хуков Nuxt: регистрация и подписка на события жизненного цикла.
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
}