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 bereichsbezogenen Anwendungen hinzufügen, die erstellt werden Oder konvertiert Mit ServiceNow IDEOder ServiceNow SDK. Sie können auch TypeScript verwenden, um Module zu erstellen und sie in JavaScript zu kompilieren, bevor Sie Ihre Anwendung erstellen. 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-Webdokumentwebsite.
@servicenow/Glide Paket. Weitere Informationen finden Sie unter Server-APIs werden importiert.Einschränkungen
- Globale Anwendungen und 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 SDKDer 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.
- Drittparteibibliotheken, die Ihrer Anwendung hinzugefügt wurden, können nicht zugreifen oder aufrufen ServiceNowAPIs.
- 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 IDEOder in Visual Studio CodeMit 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 zur Verwendung von Kurzform für Abhängigkeiten, z. B. #Berechnung .import { derivative } from '#derivative';
import * as calculus from '#calc';Drittpartei-Bibliotheken 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';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.