Dado o modulo my-module.js
<script type="module" src="my-module.js"></script>
Você pode acessar essa meta informação sobre o modulo usando o objeto import.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âmetro someURLInfo
:
// index.mjs
new URL(import.meta.url).searchParams.get("someURLInfo"); // 5
O mesmo se aplica quando um arquivo importa outro:
// index.mjs
import "./index2.mjs?someURLInfo=5";
// index2.mjs
new URL(import.meta.url).searchParams.get("someURLInfo"); // 5
Note 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ário node --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ção location.href
(com strings query ou cerquilha adicionada depois do caminho de arquivo HTML) (ou por Node.js, através do 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