import.meta

Определение окружения выполнения кода через import.meta.

Объект import.meta

В ES-модулях через import.meta можно получить метаданные о коде, который импортирует или компилирует ваш модуль. В документации Nuxt этот объект часто используется, чтобы определить, выполняется ли код на клиенте или на сервере.

Подробнее об import.meta.

Свойства runtime (приложение)

Эти значения подставляются статически и позволяют делать tree-shaking рантайм-кода.

СвойствоТипОписание
import.meta.clientbooleantrue при выполнении на клиенте.
import.meta.browserbooleantrue при выполнении на клиенте.
import.meta.serverbooleantrue при выполнении на сервере.
import.meta.nitrobooleantrue при выполнении на сервере.
import.meta.devbooleantrue при запуске dev-сервера Nuxt.
import.meta.testbooleantrue в тестовом окружении.
import.meta.prerenderbooleantrue при пререндеринге HTML на сервере.

Свойства сборки

Доступны в модулях и в nuxt.config.

СвойствоТипОписание
import.meta.envobjectСовпадает с process.env
import.meta.urlstringРазрешаемый путь к текущему файлу.

Примеры

Разрешение путей к файлам в модулях через 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'),
    })
  },
})