import.meta
Определение окружения выполнения кода через import.meta.
Объект import.meta
В ES-модулях через import.meta можно получить метаданные о коде, который импортирует или компилирует ваш модуль. В документации Nuxt этот объект часто используется, чтобы определить, выполняется ли код на клиенте или на сервере.
Свойства runtime (приложение)
Эти значения подставляются статически и позволяют делать tree-shaking рантайм-кода.
| Свойство | Тип | Описание |
|---|---|---|
import.meta.client | boolean | true при выполнении на клиенте. |
import.meta.browser | boolean | true при выполнении на клиенте. |
import.meta.server | boolean | true при выполнении на сервере. |
import.meta.nitro | boolean | true при выполнении на сервере. |
import.meta.dev | boolean | true при запуске dev-сервера Nuxt. |
import.meta.test | boolean | true в тестовом окружении. |
import.meta.prerender | boolean | true при пререндеринге HTML на сервере. |
Свойства сборки
Доступны в модулях и в nuxt.config.
| Свойство | Тип | Описание |
|---|---|---|
import.meta.env | object | Совпадает с process.env |
import.meta.url | string | Разрешаемый путь к текущему файлу. |
Примеры
Разрешение путей к файлам в модулях через import.meta.url
modules/my-module/index.ts
import { createResolver } from 'nuxt/kit'
// Разрешение путей относительно текущего файла
const resolver = createResolver(import.meta.url)
export default defineNuxtModule({
meta: { name: 'myModule' },
setup () {
addComponent({
name: 'MyModuleComponent',
// Путь: '/modules/my-module/components/MyModuleComponent.vue'
filePath: resolver.resolve('./components/MyModuleComponent.vue'),
})
},
})