Skip to content

Recetario ​

Esta página reúne funciones que se piden a menudo, pero que por motivos conceptuales no tienen cabida en la interfaz.

Módulos ES6 ​

No se pueden importar ni exportar módulos ES6 entre reglas, pero sí usar módulos de internet, por ejemplo así:

js
;(async () => {
  const { module } = await import("https://...")
  // your code is here
})()

Cargar módulos como en la versión 2.x ​

A partir de la versión 3.x, los módulos se guardan en caché tras la primera carga y solo se actualizan a mano desde la ventana de edición del módulo. Ya no se cargan desde el árbol DOM del sitio, sino que se integran directamente en el script.

Si necesitas cargarlos desde el DOM o un script externo requiere actualizaciones frecuentes, es mejor no usar la función de módulos de la extensión y cargarlo directamente con JS:

js
Promise.allSettled([
  loadScript("https://...js"),
  loadScript("https://...js"),
]).then(() => {
  // your code is here
})

function loadScript(src) {
  return new Promise(function (resolve, reject) {
    const script = document.createElement("script")
    script.src = src
    script.onload = resolve
    script.onerror = reject
    document.head.append(script)
  })
}