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
).
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4