import.meta

El objeto import.meta expone el contenido especifico de la metadata al m贸dulo JavaScript. Este contiene informacion sobre el m贸dulo, como por ejemplo, la URL del mismo.

Syntax

import.meta

Descripci贸n

La sintasis consiste de la palabra clave  import,un punto, y un identificador meta. Normalmente, la parte a la izquierda del punto es el objeto sobre el cual la accion es realizada, pero aqui import no es realmente un objeto.

El objeto import.meta es creado por la implementacion ECMAScript , con un prototipo null . El objeto es extensible y sus propiedades son grabables, editables y enumerables.

Ejemplos

Usando import.meta

Dado un m贸dulo my-module.js

<script type="module" src="my-module.js"></script>

puedes acceder a la meta informaci贸n  sobre el m贸dulo usando el objeto import.meta.

console.log(import.meta); // { url: "file:///home/user/my-module.js" }

Este retorna un objeto con una propiedad  url  indicando la URL base del m贸dulo.Esta ser谩 la URL de la que el script fue obtenido, por scripts externos, o  la URL base del documento que contiene el documento, por scripts inline.

Nota que este incluir谩 parametros de la consulta y/o el hash (ej: seguido del ? or #).

Por ejemplo, con el siguiente HTML:

<script type="module">
import './index.mjs?someURLInfo=5';
</script>

..El siguiente archivo JavaScript registrar谩 el par谩metro someURLInfo:

// index.mjs
new URL(import.meta.url).searchParams.get('someURLInfo'); // 5

Lo mismo aplica cuando un archivo importa otro:

// index.mjs
import './index2.mjs?someURLInfo=5';

// index2.mjs
new URL(import.meta.url).searchParams.get('someURLInfo'); // 5

Nota que mientras Node.js pasa en la consulta los par谩metros (o el hash ) como en el 煤ltimo ejemplo, a partir de Node 14.1.0, una URL con parametros en la consulta fallar谩  cuando se  carguen en el formato node --experimental-modules index.mjs?someURLInfo=5 (es tratado como un archivo en lugar de una URL en este contexto).

Tal argumento espec铆fico del archivo podria ser complementario al  usado en toda la aplicacion  location.href (con consultas strings o hash a帽adidas despues de la ruta HTML) (o en Node.js, mediante process.argv).

Especificaciones

Browser compatibility

BCD tables only load in the browser

Implementation Progress

La siguiente tabla provee el estatus de implementaci贸n diaria para esta caracteristica, porque esta caracteristica aun no ha alcanzado la estabilidad entre navegadores. La informaci贸n es generada corriendo los test relevantes de la caracteristica en Test262, la suite estandar de test de JavaScript, en el build nocturno,  o en el 煤ltimo release de cada  motor de los browser de JavaScript.

Ver tambi茅n