Este documento ha sido traducido por IA. Para información precisa, consulte la versión en inglés.
ctx.requireAsync()
Carga de forma asíncrona scripts UMD/AMD o montados globalmente mediante una URL, así como archivos CSS. Es adecuado para escenarios de RunJS que requieren librerías UMD/AMD como ECharts, Chart.js, FullCalendar (versión UMD) o plugins de jQuery; pasar una dirección .css cargará e inyectará los estilos. Si la librería también proporciona una versión ESM, priorice el uso de ctx.importAsync().
Casos de uso
Puede utilizarse en cualquier escenario de RunJS donde sea necesario cargar scripts UMD/AMD/globales o CSS bajo demanda, como JSBlock, JSField, JSItem, JSColumn, flujos de trabajo, JSAction, etc. Usos típicos: gráficos de ECharts, Chart.js, FullCalendar (UMD), dayjs (UMD), plugins de jQuery, etc.
Definición de tipo
Parámetros
Valor de retorno
- El objeto de la librería cargada (el primer valor del módulo de la retrollamada UMD/AMD). Muchas librerías UMD se adjuntan a
window(por ejemplo,window.echarts), por lo que el valor de retorno podría serundefined. En tales casos, acceda a la variable global según la documentación de la librería. - Devuelve el resultado de
loadCSScuando se pasa un archivo.css.
Descripción del formato de URL
- Ruta abreviada: por ejemplo,
echarts@5/dist/echarts.min.js. Bajo el CDN de ESM por defecto (esm.sh), solicitaráhttps://esm.sh/echarts@5/dist/echarts.min.js?raw. El parámetro?rawse utiliza para obtener el archivo UMD original en lugar de un envoltorio ESM. - URL completa: se puede escribir directamente cualquier dirección de CDN, como
https://cdn.jsdelivr.net/npm/dayjs@1/dayjs.min.js. - CSS: una URL que termine en
.cssse cargará e inyectará en la página.
Diferencia con ctx.importAsync()
- ctx.requireAsync(): carga scripts UMD/AMD/globales. Adecuado para ECharts, Chart.js, FullCalendar (UMD), plugins de jQuery, etc. Las librerías suelen adjuntarse a
windowdespués de la carga; el valor de retorno puede ser el objeto de la librería oundefined. - ctx.importAsync(): carga módulos ESM y devuelve el espacio de nombres del módulo. Si una librería proporciona ESM, utilice
ctx.importAsync()para obtener una mejor semántica de módulos y tree-shaking.
Ejemplos
Uso básico
Gráfico de ECharts
Gráfico de barras de Chart.js
dayjs (UMD)
Notas
- Formato del valor de retorno: los métodos de exportación de UMD varían; el valor de retorno puede ser el objeto de la librería o
undefined. Si esundefined, acceda a él a través dewindowsegún la documentación de la librería. - Dependencia de la red: requiere acceso a un CDN. En entornos de red interna, puede apuntar a un servicio propio a través de ESM_CDN_BASE_URL.
- Elección entre importAsync: si una librería proporciona tanto ESM como UMD, priorice
ctx.importAsync().
Relacionado
- ctx.importAsync() - Carga módulos ESM, adecuado para Vue, dayjs (ESM), etc.
- ctx.render() - Renderiza gráficos y otros componentes en un contenedor.
- ctx.libs - React, antd, dayjs, etc. integrados, no requiere carga asíncrona.

