nuxt logo

Tradução da Documentação (Não Oficial)

Nuxt.js
Version:v3.17

Import meta

Entenda onde seu código está sendo executado usando import.meta.

O objeto import.meta

Com módulos ES, você pode obter alguns metadados do código que importa ou compila seu módulo ES. Isso é feito através de import.meta, que é um objeto que fornece essas informações ao seu código. Ao longo da documentação do Nuxt, você pode ver trechos que já usam isso para descobrir se o código está sendo executado no lado do cliente ou do servidor.

Veja também developer.mozilla.org > en-US > docs > Web > JavaScript > Reference > Operators > import.meta

Propriedades de Runtime (App)

Esses valores são injetados estaticamente e podem ser usados para tree-shaking do seu código de runtime.

PropriedadeTipoDescrição
import.meta.clientbooleanVerdadeiro quando avaliado no lado do cliente.
import.meta.browserbooleanVerdadeiro quando avaliado no lado do cliente.
import.meta.serverbooleanVerdadeiro quando avaliado no lado do servidor.
import.meta.nitrobooleanVerdadeiro quando avaliado no lado do servidor.
import.meta.devbooleanVerdadeiro quando executando o servidor de desenvolvimento do Nuxt.
import.meta.testbooleanVerdadeiro quando executando em um contexto de teste.
import.meta.prerenderbooleanVerdadeiro quando renderizando HTML no servidor na fase de pré-renderização da sua build.

Propriedades do Builder

Esses valores estão disponíveis tanto em módulos quanto no seu nuxt.config.

PropriedadeTipoDescrição
import.meta.envobjetoEquivale a process.env
import.meta.urlstringCaminho resolvível para o arquivo atual.

Exemplos

Usando import.meta.url para resolver arquivos dentro de módulos

modules/my-module/index.ts
import { createResolver } from 'nuxt/kit'

// Resolve relativo ao arquivo atual
const resolver = createResolver(import.meta.url)

export default defineNuxtModule({
  meta: { name: 'myModule' },
  setup() {
    addComponent({
      name: 'MyModuleComponent',
      // Resolve para '/modules/my-module/components/MyModuleComponent.vue'
      filePath: resolver.resolve('./components/MyModuleComponent.vue')
    })
  }
})