JavaScript-Module und Drittanbieterbibliotheken
Optimieren Sie Ihre Codebasis mithilfe von JavaScript-Modulen, um zugehörigen Code zu gruppieren oder Bibliotheken von Drittanbietern hinzuzufügen und deren Code in Anwendungen wiederzuverwenden.
Übersicht über die Verwendung von JavaScript-Modulen
Ein Modul ist eine JavaScript-Datei, die zugehörigen Code enthält, der in Anwendungen auf einer Instanz freigegeben und wiederverwendet wird. Sie können JavaScript-Module und Drittanbieterbibliotheken in hinzufügen Anwendungen, die erstellt werden Oder konvertiert Mit ServiceNow IDE Oder ServiceNow SDK. Sie können TypeScript auch verwenden, um Module zu erstellen und sie vor dem Erstellen Ihrer Anwendung in JavaScript zu kompilieren. Nach der Installation einer Anwendung auf einer Instanz werden JavaScript-Module in der Tabelle „ECMAScript-Modul“ [sys_Module] gespeichert.
In einem Modul identifizieren Sie Code zur Wiederverwendung mit Exportieren Anweisungen. Verwenden Sie dann Importieren Oder Erforderlich Anweisungen zur Wiederverwendung des Codes an anderer Stelle in Ihren Anwendungen. Sie müssen Anwendungen als Abhängigkeiten Bibliotheken des Knotenpaketmanagers (NPM) von Drittanbietern als Abhängigkeiten hinzufügen, um ihren Modulcode zu verwenden. Allgemeine Informationen zur Syntax, die zum Erstellen von JavaScript-Modulen verwendet wird, finden Sie unter JavaScript-Module Seite auf der MDN-Webdokumentenwebsite.
@servicenow/Glide Paket. Weitere Informationen finden Sie unter Server-APIs werden importiert.Einschränkungen
- Anwendungsanpassungen werden nicht unterstützt.
- Module können nur innerhalb des Anwendungsbereichs verwendet werden, dem sie hinzugefügt werden. Sie können nicht in allen Anwendungsbereichen verwendet werden.
- Eine Teilmenge von ECMAScript-Funktionen wird in Modulen gemäß unterstützt JavaScript engine feature support.
- Node.js-APIs werden in Modulen nicht unterstützt. Die ServiceNow SDK Der Build-Prozess füllt alle integrierten Node.js-Module beim Verpacken von Modulen aus, andernfalls werden Module aus gelöst Node_modules Verzeichnis.
- Globale Variablen im Zusammenhang mit Web-APIs werden nicht unterstützt.
- CommonJS-Module aus Drittanbieterbibliotheken werden nur unterstützt, wenn sie Exporte definieren. Subpfad-Importe werden mit CommonJS-Modulen nicht unterstützt. ECMAScript-Module aus Drittparteibibliotheken werden unterstützt.
- Importieren Und Exportieren Anweisungen werden nur in Modulen unterstützt. Verwenden Sie zum Importieren von Modulcode in Skripts, z. B. Business-Regeln oder Skripteinbindungen Erforderlich Anweisungen.
- JavaScript-Module [sys_Module] können nur in geändert werden ServiceNow IDE Oder in Visual Studio Code Mit ServiceNow SDK.
Module werden exportiert
export { myFunction, myVariable };Module werden importiert
Verwenden Sie zum Importieren des Modulcodes, den Sie wiederverwenden möchten Importieren Anweisungen in anderen Modulen oder Erforderlich Anweisungen in serverseitigen Skripts.
import { feature } from 'path/to/module';const { feature } = require('path/to/module');.TS Dateierweiterung. Beispiel: { Funktion } aus „./Module.ts“ importieren .{
"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"
}
}#Ableitung Stattdessen kürzen. Unterpfade können auch in verwendet werden Importe Feld, das für Abhängigkeiten verwendet werden soll, z. B. #Berechnung .import { derivative } from '#derivative';
import * as calculus from '#calc';Drittparteibibliotheken werden hinzugefügt
{
"name": "test",
"version": "1.0.0",
"dependencies": {
"math": "1.0.0"
}
}Server-APIs werden importiert
Verwenden Sie, um Server-APIs zu importieren und in einem Modul zu verwenden Importieren Anweisungen. Glide-APIs können aus importiert werden @servicenow/Glide Paket oder deren Namespace im Paket.
import { API } from '@servicenow/glide';
import { API } from '@servicenow/glide/<namespace>';import { gs } from '@servicenow/glide';
import { GlideRecord } from '@servicenow/glide';sn_WS_int Namespace in einem Modul, da sie in diesem Namespace ausgeführt werden:import { RESTAPIRequest, RESTAPIResponse } from '@servicenow/glide/sn_ws_int';Um auf Server-APIs in einem Drittanbieter-Bibliotheksmodul zuzugreifen, müssen Sie das Modul als vertrauenswürdiges Modul mit hinzufügen TrustedModules Parameter in Ihrer Anwendung Now.config.JSON Datei. Weitere Informationen finden Sie unter Anwenderdefinierte Anwendungskonfiguration im Quellcode.
Weitere Informationen zu verfügbaren Server-APIs finden Sie unter Server API reference.
Skripteinbindungen werden importiert
Um Skripteinbindungen zu importieren und in einem Modul zu verwenden, verwenden Sie Importieren Anweisungen. Skripteinbindungen können aus ihrem Anwendungsbereich oder dem globalen Bereich in importiert werden @servicenow/Glide Paket.
import { global } from '@servicenow/glide/global';
import { ScriptInclude } from '@servicenow/glide/<scope>';Weitere Informationen zu Skripteinbindungen finden Sie unter Script includes.