Este documento ha sido traducido por IA. Para información precisa, consulte la versión en inglés.
Carga dinámicamente módulos ESM o CSS mediante una URL, aplicable a diversos escenarios de RunJS. Utilice ctx.importAsync() cuando se requieran librerías ESM de terceros, y ctx.requireAsync() para librerías UMD/AMD; al pasar una dirección .css, se cargará e inyectará el estilo en la página.
| Escenario | Descripción |
|---|---|
| JSBlock | Carga dinámicamente librerías ESM como Vue, ECharts o Tabulator para implementar gráficos, tablas o tableros personalizados, etc. |
| JSField / JSItem / JSColumn | Carga librerías de utilidades ESM ligeras (por ejemplo, plugins de dayjs) para asistir en el renderizado. |
| Flujo de trabajo / Eventos de acción | Carga dependencias bajo demanda antes de ejecutar la lógica de negocio. |
| Parámetro | Tipo | Descripción |
|---|---|---|
url | string | La dirección del módulo ESM o CSS. Admite el formato abreviado <paquete>@<versión> o subrutas <paquete>@<versión>/<ruta-al-archivo> (por ejemplo, vue@3.4.0, dayjs@1/plugin/relativeTime.js), que se concatenarán con el prefijo CDN según la configuración; también admite URLs completas. Al pasar un archivo .css, se cargará e inyectará como estilo. Para librerías que dependen de React, puede añadir ?deps=react@18.2.0,react-dom@18.2.0 para asegurar que compartan la misma instancia de React con la página. |
.css para cargarla e inyectarla en la página).vue@3.4.0 solicita en realidad https://esm.sh/vue@3.4.0.@dnd-kit/core, react-big-calendar) deben añadir ?deps=react@18.2.0,react-dom@18.2.0 para evitar conflictos con la instancia de React de la página, lo que podría causar errores de "Invalid hook call".https://esm.sh)./+esm para jsDelivr).ctx.importAsync().Demuestra el uso más básico de la carga dinámica de módulos ESM y CSS mediante el nombre del paquete o una URL completa.
Utiliza ECharts para dibujar un gráfico de resumen de ventas con diagramas de barras y líneas.
Muestra cómo renderizar una tabla de datos con paginación y eventos de clic en filas dentro de un bloque usando Tabulator.
Muestra cómo cargar FullCalendar y sus plugins mediante ESM y renderizar un calendario básico con vista mensual.
Utiliza @dnd-kit/core para implementar un ejemplo mínimo de arrastrar una caja (Box) a un área de destino dentro de un bloque.
Este ejemplo depende únicamente de @dnd-kit/core para activar una notificación cuando se suelta una caja en un área específica, demostrando la interacción más sencilla de arrastrar y soltar combinando ctx.importAsync y React en RunJS.
Implementa una lista de ordenación vertical utilizando core, sortable y utilities de dnd-kit.
Este ejemplo utiliza @dnd-kit/core, @dnd-kit/sortable y @dnd-kit/utilities para implementar una lista ordenable que actualiza su orden y muestra el mensaje "List reordered" después de arrastrar.
Renderiza un componente de calendario que admite la visualización de eventos en el bloque actual utilizando react-big-calendar y date-fns para la localización.
Utiliza frappe-gantt para renderizar una vista de gráfico de Gantt que muestra los tiempos de inicio/fin y el progreso de las tareas.
Utiliza @asseinfo/react-kanban para renderizar un tablero Kanban básico con columnas como Backlog y Doing dentro de un bloque.
ctx.importAsync() para obtener una mejor semántica de módulos.?deps=react@18.2.0,react-dom@18.2.0. La versión debe coincidir con la versión de React utilizada por la página; de lo contrario, puede producirse un error de "Invalid hook call".