Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.
import.meta
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since janeiro de 2020.
O objetoimport.meta mostra os metadados específicos do contexto de um módulo JavaScript. Ele contém informações sobre o módulo, como a sua URL.
In this article
Sintaxe
import.meta
Descrição
A sintaxe consiste na palavra chaveimport, um ponto, e o identificadormeta. Normalmente no lado esquerdo do ponto é o objeto na qual a propriedade de acesso é realizada is, mas aquiimport não é exatamente um objeto.
O objetoimport.meta foi criado no implementação ECMAScript,com um protótiponull. O objeto é extensível, e suas propriedades são grávaveis, configuráveis, e enumeráveis.
Exemplos
>Usando import.meta
Dado o modulomy-module.js
<script type="module" src="my-module.js"></script>Você pode acessar essa meta informação sobre o modulo usando o objetoimport.meta.
console.log(import.meta); // { url: "file:///home/user/my-module.js" }Irá retornar um objeto com propriedade URL indicando a base URL do módulo. Isso vai ser o URL da qual o script obteve, por scripts external, ou a base do documento URL contendo documento, para scripts inline.
Note que isso irá incluir parâmetros query e/ou cerquilha (i.e., seguindo o? ou#).
Por exemplo, seguindo esse HTML:
<script type="module"> import "./index.mjs?someURLInfo=5";</script>O arquivo JavaScript a seguir vai registrar o parâmetrosomeURLInfo:
// index.mjsnew URL(import.meta.url).searchParams.get("someURLInfo"); // 5O mesmo se aplica quando um arquivo importa outro:
// index.mjsimport "./index2.mjs?someURLInfo=5";// index2.mjsnew URL(import.meta.url).searchParams.get("someURLInfo"); // 5Note que enquanto o Node.js vai passar nos parâmetros query (ou na cerquilha) como no exemplo passsado, a partir do Node 14.1.0, a URL com parâmetro query vai dar erro quando carregar no formulárionode --experimental-modules index.mjs?someURLInfo=5 (é tratado como um arquivo ao invés de uma URL nesse contexto).
Nesse arquivo específico, o argumento passado pode ser complementar para ser usado na ampla aplicaçãolocation.href (com strings query ou cerquilha adicionada depois do caminho de arquivo HTML) (ou por Node.js, através doprocess.argv).
Especificações
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # prod-ImportMeta> |