Modules JavaScript et bibliothèques tierces
Optimisez votre base de code à l’aide de modules JavaScript pour regrouper le code connexe ou ajouter des bibliothèques tierces et réutiliser leur code dans les applications.
Vue d’ensemble de l’utilisation des modules JavaScript
Un module est un fichier JavaScript qui contient du code connexe qui est partagé et réutilisé au sein des applications sur une instance. Vous pouvez ajouter des modules JavaScript et des bibliothèques tierces dans les applications incluses dans le périmètre qui sont créées ou converties avec le ServiceNow IDE ou ServiceNow SDK. Vous pouvez également utiliser TypeScript pour créer des modules et les compiler en JavaScript avant de créer votre application. Sur une instance, les modules JavaScript sont stockés dans la table du module EcmaScript [sys_module].
Dans un module, vous identifiez le code à réutiliser avec des instructions d’exportation . Ensuite, utilisez des instructions import ou require pour réutiliser le code ailleurs dans vos applications. Les applications doivent déclarer leurs dépendances à des bibliothèques npm (Node Package Manager) tierces pour utiliser leur code de module. Pour des informations générales sur la syntaxe utilisée pour créer des modules JavaScript, consultez la page Modules JavaScript sur le site Web MDN Web Docs.
@servicenow/glide . Par exemple : import { gs } from '@servicenow/glide'.Limitations
- Les applications globales et personnalisations d’application ne sont pas prises en charge.
- Les modules ne peuvent être utilisés que dans le périmètre de l’application dans lequel ils sont ajoutés. Ils ne peuvent pas être utilisés dans tous les périmètres de l’application.
- Un sous-ensemble de fonctionnalités ECMAScript est pris en charge dans les modules conformément à la Prise en charge de la fonctionnalité du moteur JavaScript.
- Node.js API ne sont pas prises en charge dans les modules.
- Les variables globales liées aux API Web ne sont pas prises en charge.
- Les bibliothèques tierces ajoutées à votre application ne peuvent pas accéder aux API ni les appeler ServiceNow .
- Les modules CommonJS des bibliothèques tierces ne sont pas pris en charge à moins qu’ils ne définissent les exportations. Les importations de sous-chemins ne sont pas prises en charge avec les modules CommonJS. Les modules ECMAScript des bibliothèques tierces sont pris en charge.
- Les instructions d’importation et d’exportation ne sont prises en charge que dans les modules. Pour importer du code de module dans des scripts, tels que des règles métier ou des includes de script, utilisez des instructions require .
- Les modules JavaScript [sys_module] ne peuvent être modifiés que dans le ou avec Visual Studio Code le ServiceNow SDKServiceNow IDE .
Exportation de modules
export { myFunction, myVariable };
Importation de modules
Pour importer le code de module que vous souhaitez réutiliser, utilisez des instructions import dans d’autres modules ou exigez des instructions dans des scripts côté serveur.
import { feature } from "path/to/module";
const { feature } = require("path/to/module");
{
"name": "math",
"version": "1.0.0",
"exports": {
"./functions/*.js": "./src/functions/*.js",
"./functions/private-functions/*": null
},
"imports": {
"#calc": "calculus",
"#derivative": "calculus/derivative"
},
"dependencies": {
"calculus": "1.0.0"
}
}#derivative à la place. Les sous-chemins d’accès peuvent également être utilisés dans le champ d’importation pour utiliser un raccourci pour les dépendances, telles que #calc.import { derivative } from '#derivative';
import * as calculus from '#calc';Ajout de dépendances
{
"name": "test",
"version": "1.0.0",
"dependencies": {
"math": "1.0.0"
}
}