JavaScript-Module und Bibliotheken von Drittparteien

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 3 Minuten Lesedauer
  • Optimieren Sie Ihre Codebasis mit JavaScript-Modulen, um zugehörigen Code zu gruppieren, oder fügen Sie Bibliotheken von Drittparteien hinzu, und verwenden Sie ihren Code in Anwendungen wieder.

    Übersicht über die Verwendung von JavaScript-Modulen

    Ein Modul ist eine JavaScript-Datei, die zugehörigen Code enthält, der in Anwendungen in einer Instanz gemeinsam genutzt und wiederverwendet wird. Sie können JavaScript-Module und Bibliotheken von Drittanbietern in bereichsbezogenen Anwendungen hinzufügen, die mit ServiceNow IDE oder ServiceNow SDKerstellt oder konvertiert werden . Sie können TypeScript auch verwenden, um Module zu erstellen und in JavaScript zu kompilieren, bevor Sie Ihre Anwendung erstellen. In einer -Instanz werden JavaScript-Module in der Tabelle „EcmaScript Module“ [sys_module] gespeichert.

    In einem Modul identifizieren Sie Code zur Wiederverwendung mit Exportanweisungen. Verwenden Sie dann Import- oder Require -Anweisungen, um den Code an anderer Stelle in Ihren Anwendungen wiederzuverwenden. Anwendungen müssen Abhängigkeiten von npm-Bibliotheken (Node Package Manager) von Drittparteien deklarieren, um deren Modulcode verwenden zu können. Allgemeine Informationen zur Syntax zum Erstellen von JavaScript-Modulen finden Sie auf der Seite „JavaScript-Module“ auf der MDN-Webdokument-Website.

    Hinweis:
    Um globale Glide APIs in Modulen zu verwenden, müssen sie aus dem Paket @servicenow/glide importiert werden. Beispiel: import { gs } from '@servicenow/glide'.

    Einschränkungen

    • Globale Anwendungen und Anwendungsanpassungen werden nicht unterstützt.
    • Module können nur innerhalb des Anwendungsbereichs verwendet werden, in dem sie hinzugefügt wurden. Sie können nicht für alle Anwendungsbereiche verwendet werden.
    • Eine Teilmenge der ECMAScript-Funktionen wird in Modulen gemäß Unterstützung der JavaScript-Engine-Funktionenunterstützt.
    • Node.js-APIs werden in Modulen nicht unterstützt.
    • Globale Variablen im Zusammenhang mit Web-APIs werden nicht unterstützt.
    • Ihrer Anwendung hinzugefügte Bibliotheken von Drittparteien können nicht auf ServiceNow -APIs zugreifen oder diese aufrufen.
    • CommonJS-Module aus Drittanbieterbibliotheken werden nur unterstützt, wenn sie Exporte definieren. Unterpfadimporte werden für CommonJS-Module nicht unterstützt. ECMAScript-Module aus Bibliotheken von Drittparteien werden unterstützt.
    • Import- und Export -Anweisungen werden nur in -Modulen unterstützt. Um Modulcode in Skripts wie Business-Regeln oder Skripteinbindungen zu importieren, verwenden Sie Anforderungen.
    • JavaScript-Module [sys_module] können nur in ServiceNow IDE oder in Visual Studio Code mit ServiceNow SDKgeändert werden.
    Wichtig:
    Sie können keine Bibliotheken von Drittparteien verwenden, die auf nicht unterstützten Funktionen basieren, z. B. nicht unterstützten APIs oder ECMAScript-Funktionen.

    Module werden exportiert

    Identifizieren Sie in einem Modul Code zur Wiederverwendung mit Exportanweisungen. Sie können benannte Exporte oder Standardexporte verwenden. Benannte Exporte können für Variablen, Konstanten, Funktionen oder Klassen erfolgen, während Standardexporte nur für Funktionen oder Klassen gelten können. Das folgende Beispiel zeigt eine Möglichkeit, einen benannten Export für mehrere Features (eine Funktion und eine Variable) in einem Modul hinzuzufügen:
    export { myFunction, myVariable };
    

    Module werden importiert

    Um den wiederzuverwendenden Modulcode zu importieren, verwenden Sie import -Anweisungen in anderen Modulen oder erfordern -Anweisungen in serverseitigen Skripts.

    Das folgende Beispiel zeigt eine Möglichkeit, eine exportierte Funktion in ein Modul zu importieren:
    import { feature } from "path/to/module";
    
    Das folgende Beispiel zeigt eine Möglichkeit, eine exportierte Funktion in ein Skript zu importieren:
    const { feature } = require("path/to/module");
    
    Um die Kurzschrift zum Importieren von Modulcode zu verwenden, können Sie Unterpfade im Importfeld der Paket.json- Datei der Anwendung verwenden. 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 können Sie, anstatt den relativen Pfad zu derivative.js jedes Mal, wenn Sie ihn in die Mathe- Anwendung importieren möchten, zu schreiben, sondern stattdessen die Kurzschrift #leitet verwenden. Unterpfade können auch im Importfeld verwendet werden, um Kürzel für Abhängigkeiten zu verwenden, z. B. #calc.
    import { derivative } from '#derivative';
    import * as calculus from '#calc';

    Abhängigkeiten werden hinzugefügt

    Anwendungen müssen Abhängigkeiten von Bibliotheken von Drittparteien deklarieren, um deren Modulcode verwenden zu können. Fügen Sie in der Datei „package.json“ einer Anwendung den Paketnamen und die Version für alle Abhängigkeiten hinzu. Um beispielsweise Module aus der Bibliothek „Mathe“ in der Anwendung „Test“ zu verwenden, fügen Sie das Paket „Mathe“ als Abhängigkeit hinzu:
    {
    	"name": "test",
    	"version": "1.0.0",
    	"dependencies": {
    		"math": "1.0.0"
    	}
    }