Ce document a été traduit par IA. Pour des informations précises, veuillez consulter la version anglaise.
Chargez dynamiquement des modules ESM ou du CSS via une URL, applicable à divers scénarios RunJS. Utilisez ctx.importAsync() lorsque des bibliothèques ESM tierces sont requises, et ctx.requireAsync() pour les bibliothèques UMD/AMD. Passer une adresse .css chargera et injectera les styles dans la page.
| Scénario | Description |
|---|---|
| JSBlock | Chargez dynamiquement des bibliothèques ESM telles que Vue, ECharts ou Tabulator pour implémenter des graphiques, tableaux ou tableaux de bord personnalisés, etc. |
| JSField / JSItem / JSColumn | Chargez des bibliothèques utilitaires ESM légères (ex : plugins dayjs) pour faciliter le rendu. |
| Flux de travail / Événements d'action | Chargez les dépendances à la demande avant d'exécuter la logique métier. |
| Paramètre | Type | Description |
|---|---|---|
url | string | L'adresse du module ESM ou du CSS. Prend en charge le format abrégé <paquet>@<version> ou les sous-chemins <paquet>@<version>/<chemin-du-fichier> (ex : vue@3.4.0, dayjs@1/plugin/relativeTime.js), qui seront concaténés avec le préfixe CDN selon la configuration. Les URLs complètes sont également prises en charge. Lorsqu'un fichier .css est passé, il sera chargé et injecté en tant que style. Pour les bibliothèques dépendant de React, vous pouvez ajouter ?deps=react@18.2.0,react-dom@18.2.0 pour vous assurer qu'elles partagent la même instance React que la page. |
.css pour le charger et l'injecter dans la page).vue@3.4.0 appelle réellement https://esm.sh/vue@3.4.0.@dnd-kit/core, react-big-calendar) doivent ajouter ?deps=react@18.2.0,react-dom@18.2.0 pour éviter les conflits avec l'instance React de la page, ce qui pourrait entraîner des erreurs "Invalid hook call".https://esm.sh)./+esm pour jsDelivr).ctx.importAsync() est préférable.Démontre l'utilisation la plus simple du chargement dynamique de modules ESM et de CSS par nom de paquet ou URL complète.
Utilisez ECharts pour dessiner un graphique d'aperçu des ventes avec des diagrammes en barres et des courbes.
Démontre le rendu d'un tableau de données avec pagination et événements de clic sur les lignes dans un bloc à l'aide de Tabulator.
Montre comment charger FullCalendar et ses plugins via ESM et rendre un calendrier de base en vue mensuelle.
Utilise @dnd-kit/core pour implémenter un exemple minimal de déplacement d'une boîte (Box) vers une zone cible dans un bloc.
Cet exemple s'appuie uniquement sur @dnd-kit/core pour déclencher une notification lorsqu'une boîte est déposée dans une zone spécifique, illustrant l'interaction de glisser-déposer la plus simple combinant ctx.importAsync et React dans RunJS.
Implémente une liste triable verticalement en utilisant le core, le module sortable et les utilitaires de dnd-kit.
Cet exemple utilise @dnd-kit/core, @dnd-kit/sortable et @dnd-kit/utilities pour implémenter une liste triable qui met à jour son ordre et affiche un message "Liste réordonnée" après le glissement.
Affiche un composant de calendrier prenant en charge l'affichage d'événements dans le bloc actuel en utilisant react-big-calendar et date-fns pour la localisation.
Utilise frappe-gantt pour afficher une vue de diagramme de Gantt montrant les heures de début/fin des tâches et leur progression.
Utilise @asseinfo/react-kanban pour afficher un tableau Kanban de base avec des colonnes comme Backlog et Doing dans un bloc.
ctx.importAsync() pour une meilleure sémantique de module.?deps=react@18.2.0,react-dom@18.2.0. La version doit correspondre à la version React utilisée par la page, sinon une erreur "Invalid hook call" peut survenir.