JavaScript-Module und Drittanbieterbibliotheken

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 4 Minuten Lesedauer
  • 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.

    Hinweis:
    Um globale Glide-Server-APIs in Modulen zu verwenden, müssen sie aus importiert werden @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.
    Wichtig:
    Sie können keine Drittanbieterbibliotheken verwenden, die auf nicht unterstützte Funktionen basieren, z. B. nicht unterstützte APIs oder ECMAScript-Funktionen. Weitere Informationen finden Sie unter Unterstützung von Drittpartei-Bibliotheken.

    Module werden exportiert

    Identifizieren Sie in einem Modul den Code zur Wiederverwendung mit Exportieren Anweisungen. Sie können benannte Exporte oder Standardexporte verwenden. Benannte Exporte können für Variablen, Konstanten, Funktionen oder Klassen sein, während Standardexporte nur für Funktionen oder Klassen gelten können. Das folgende Beispiel ist eine Möglichkeit, einen benannten Export für mehrere Funktionen (eine Funktion und eine Variable) in einem Modul hinzuzufügen:
    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.

    Das folgende Beispiel ist eine Möglichkeit, eine exportierte Funktion in ein Modul zu importieren:
    import { feature } from 'path/to/module';
    Das folgende Beispiel ist eine Möglichkeit, eine exportierte Funktion in ein Skript zu importieren:
    const { feature } = require('path/to/module');
    Hinweis:
    Um Code aus einer TypeScript-Datei in eine andere TypeScript-Datei zu importieren, müssen Sie einschließen .TS Dateierweiterung. Beispiel: { Funktion } aus „./Module.ts“ importieren .
    Um den Kurztext zum Importieren von Modulcode zu verwenden, können Sie Unterpfade in verwenden Importe Feld der Anwendung Package.JSON Datei. Zum Beispiel:
    {
    	"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"
    	}
    }
    Basierend auf diesem Beispiel, anstatt den relativen Pfad zu aufzuschreiben Derivative.js Jedes Mal, wenn Sie es in importieren möchten Mathematik Anwendung können Sie verwenden #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

    Anwendungen müssen Abhängigkeiten von Drittanbieterbibliotheken deklarieren, um ihren Modulcode zu verwenden. In einer Anwendung Package.JSON Datei, geben Sie den Paketnamen und die Version für alle Abhängigkeiten an. Um beispielsweise Module aus der Bibliothek „Mathematik“ in der Anwendung „Test“ zu verwenden, fügen Sie das Paket „Mathematik“ als Abhängigkeit hinzu:
    {
    	"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.

    Zum Beispiel:
    import { API } from '@servicenow/glide';
    import { API } from '@servicenow/glide/<namespace>';
    Im folgenden Beispiel ist gs (GlideSystem) und GlideRecord APIs werden in ein Modul importiert:
    import { gs } from '@servicenow/glide';
    import { GlideRecord } from '@servicenow/glide';
    Im folgenden Beispiel ist RESTAPIRequest Und RESTAPIAntwort APIs werden aus importiert 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.

    Zum Beispiel:
    import { global } from '@servicenow/glide/global';
    import { ScriptInclude } from '@servicenow/glide/<scope>';

    Weitere Informationen zu Skripteinbindungen finden Sie unter Script includes.