Ce document a été traduit par IA. Pour des informations précises, veuillez consulter la version anglaise.
ctx.libs est l'espace de noms unifié pour les bibliothèques intégrées dans RunJS, contenant des bibliothèques couramment utilisées telles que React, Ant Design, dayjs et lodash. Aucun import ou chargement asynchrone n'est requis ; elles peuvent être utilisées directement via ctx.libs.xxx.
| Scénario | Description |
|---|---|
| JSBlock / JSField / JSItem / JSColumn | Utilisez React + Ant Design pour restituer l'interface utilisateur, dayjs pour la gestion des dates et lodash pour le traitement des données. |
| Formule / Calcul | Utilisez formula ou math pour des formules de type Excel et des opérations d'expressions mathématiques. |
| Flux de travail / Règles de liaison | Appelez des bibliothèques utilitaires comme lodash, dayjs et formula dans des scénarios de logique pure. |
| Propriété | Description | Documentation |
|---|---|---|
ctx.libs.React | Cœur de React, utilisé pour le JSX et les Hooks | React |
ctx.libs.ReactDOM | API client ReactDOM (incluant createRoot), utilisée avec React pour le rendu | React DOM |
ctx.libs.antd | Bibliothèque de composants Ant Design (Button, Card, Table, Form, Input, Modal, etc.) | Ant Design |
ctx.libs.antdIcons | Bibliothèque d'icônes Ant Design (ex : PlusOutlined, UserOutlined) | @ant-design/icons |
ctx.libs.dayjs | Bibliothèque utilitaire de date et d'heure | dayjs |
ctx.libs.lodash | Bibliothèque utilitaire (get, set, debounce, etc.) | Lodash |
ctx.libs.formula | Bibliothèque de fonctions de formules de type Excel (SUM, AVERAGE, IF, etc.) | Formula.js |
ctx.libs.math | Bibliothèque d'expressions mathématiques et de calcul | Math.js |
Pour la compatibilité avec le code hérité, certaines bibliothèques sont également exposées au niveau supérieur : ctx.React, ctx.ReactDOM, ctx.antd et ctx.dayjs. Il est recommandé d'utiliser systématiquement ctx.libs.xxx pour faciliter la maintenance et la recherche dans la documentation.
lodash, formula et math utilisent le chargement différé : un import dynamique est déclenché uniquement lors du premier accès à ctx.libs.lodash, et le cache est réutilisé par la suite. React, antd, dayjs et antdIcons sont pré-configurés par le contexte et sont disponibles immédiatement.
ctx.importAsync('react@19'), le JSX utilisera cette instance. Dans ce cas, ne le mélangez pas avec ctx.libs.antd. Ant Design doit être chargé pour correspondre à cette version de React (ex : ctx.importAsync('antd@5.x'), ctx.importAsync('@ant-design/icons@5.x')).ctx.libs.React ou d'appeler des Hooks, exécutez d'abord await ctx.importAsync('react@version') pour vous assurer que la même instance React est partagée avec la page.