Ce document a été traduit par IA. Pour des informations précises, veuillez consulter la version anglaise.
ctx.requireAsync()
Charge de manière asynchrone des scripts UMD/AMD ou montés globalement via une URL, ainsi que du CSS. Cette méthode est adaptée aux scénarios RunJS nécessitant des bibliothèques UMD/AMD telles que ECharts, Chart.js, FullCalendar (version UMD) ou des plugins jQuery. Si une bibliothèque propose également une version ESM, privilégiez l'utilisation de ctx.importAsync().
Scénarios d'utilisation
Peut être utilisé dans n'importe quel scénario RunJS où des scripts UMD/AMD/globaux ou du CSS doivent être chargés à la demande, tels que JSBlock, JSField, JSItem, JSColumn, flux de travail, JSAction, etc. Utilisations typiques : graphiques ECharts, Chart.js, FullCalendar (UMD), dayjs (UMD), plugins jQuery, etc.
Définition du type
Paramètres
Valeur de retour
- L'objet de la bibliothèque chargée (la première valeur de module du rappel UMD/AMD). De nombreuses bibliothèques UMD s'attachent à l'objet
window(par exemple,window.echarts), la valeur de retour peut donc êtreundefined. Dans ce cas, accédez à la variable globale conformément à la documentation de la bibliothèque. - Retourne le résultat de
loadCSSlorsqu'un fichier.cssest passé.
Description du format d'URL
- Chemin abrégé : par exemple,
echarts@5/dist/echarts.min.js. Avec le CDN ESM par défaut (esm.sh), il interrogehttps://esm.sh/echarts@5/dist/echarts.min.js?raw. Le paramètre?rawest utilisé pour récupérer le fichier UMD original au lieu d'un wrapper ESM. - URL complète : n'importe quelle adresse CDN peut être utilisée directement, telle que
https://cdn.jsdelivr.net/npm/dayjs@1/dayjs.min.js. - CSS : une URL se terminant par
.csssera chargée et injectée dans la page.
Différence avec ctx.importAsync()
- ctx.requireAsync() : Charge des scripts UMD/AMD/globaux. Convient pour ECharts, Chart.js, FullCalendar (UMD), les plugins jQuery, etc. Les bibliothèques s'attachent souvent à
windowaprès le chargement ; la valeur de retour peut être l'objet de la bibliothèque ouundefined. - ctx.importAsync() : Charge des modules ESM et retourne l'espace de noms du module. Si une bibliothèque fournit de l'ESM, utilisez
ctx.importAsync()pour une meilleure sémantique de module et le Tree-shaking.
Exemples
Utilisation de base
Graphique ECharts
Graphique à barres Chart.js
dayjs (UMD)
Précautions
- Format de la valeur de retour : Les méthodes d'exportation UMD varient ; la valeur de retour peut être l'objet de la bibliothèque ou
undefined. Si elle estundefined, accédez-y viawindowselon la documentation de la bibliothèque. - Dépendance réseau : Nécessite un accès au CDN. Dans les environnements réseau internes, vous pouvez pointer vers un service auto-hébergé via la variable ESM_CDN_BASE_URL.
- Choix entre importAsync : Si une bibliothèque fournit à la fois ESM et UMD, privilégiez
ctx.importAsync().
Voir aussi
- ctx.importAsync() - Charge des modules ESM, adapté à Vue, dayjs (ESM), etc.
- ctx.render() - Rend des graphiques et d'autres composants dans un conteneur.
- ctx.libs - React, antd, dayjs intégrés, etc., aucun chargement asynchrone requis.

