Автоимпорты
Регистрация своих утилит, композаблов и Vue API для автоимпорта.
Nuxt автоматически подключает хелперы, композаблы и API Vue по всему приложению без явного импорта. По структуре каталогов приложение также получает автоимпорты для своих composables и плагинов.
Через Nuxt Kit можно добавлять свои автоимпорты: addImports и addImportsDir — добавление импортов в приложение; addImportsSources — добавление списка импортов из сторонних пакетов.
Под капотом используется unimport.
Эти функции предназначены для регистрации своих утилит, композаблов и Vue API. Для страниц, компонентов и плагинов см. Pages, Components, Plugins.
addImports
Добавляет импорты в приложение Nuxt — они становятся доступны без явного импорта.
Для импортов в контексте Nitro-сервера используйте
addServerImports.Использование
import { addImports, defineNuxtModule } from '@nuxt/kit'
export default defineNuxtModule({
setup (options, nuxt) {
const names = [
'useStoryblok',
'useStoryblokApi',
'useStoryblokBridge',
'renderRichText',
'RichTextSchema',
]
names.forEach(name =>
addImports({ name, as: name, from: '@storyblok/vue' }),
)
},
})
Тип
function addImports (imports: Import | Import[]): void
Параметры
imports: объект или массив объектов со свойствами:
| Свойство | Тип | Обязательный | Описание |
|---|---|---|---|
name | string | да | Имя импорта. |
from | string | да | Спецификатор модуля. |
priority | number | нет | Приоритет; при совпадении имён используется импорт с большим приоритетом. |
disabled | boolean | нет | Отключить этот импорт. |
meta | Record<string, any> | нет | Метаданные импорта. |
type | boolean | нет | Импорт только типов. |
typeFrom | string | нет | Значение from при генерации деклараций типов. |
as | string | нет | Импортировать под этим именем. |
addImportsDir
Добавляет импорты из каталога: все файлы из каталога становятся доступны в приложении без явного импорта.
Использование
import { addImportsDir, createResolver, defineNuxtModule } from '@nuxt/kit'
export default defineNuxtModule({
meta: {
name: '@vueuse/motion',
configKey: 'motion',
},
setup (options, nuxt) {
const resolver = createResolver(import.meta.url)
addImportsDir(resolver.resolve('./runtime/composables'))
},
})
Тип
function addImportsDir (dirs: string | string[], options?: { prepend?: boolean }): void
Параметры
| Свойство | Тип | Обязательный | Описание |
|---|---|---|---|
dirs | string | string[] | да | Путь к каталогу или массив путей. |
options | { prepend?: boolean } | нет | prepend: true — добавить импорты в начало списка. |
addImportsSources
Добавляет перечисленные импорты в приложение Nuxt.
Использование
import { addImportsSources, defineNuxtModule } from '@nuxt/kit'
export default defineNuxtModule({
setup () {
addImportsSources({
from: 'h3',
imports: [
'defineEventHandler',
'getQuery',
'getRouterParams',
'readBody',
'sendRedirect',
],
})
},
})
Тип
function addImportsSources (importSources: ImportSource | ImportSource[]): void
Параметры
importSources: объект или массив объектов:
| Свойство | Тип | Обязательный | Описание |
|---|---|---|---|
from | string | да | Спецификатор модуля. |
imports | PresetImport | ImportSource[] | да | Имена импортов, объекты импортов или источники. |