Anwendungen werden im Quellcode erstellt

  • Freigeben Version: Zurich
  • Aktualisiert 30. Januar 2025
  • 7 Minuten Lesedauer
  • Erstellen und entwickeln Sie anwenderdefinierte Anwendungen im Quellcode mit vertrauten Entwicklungstools und -Prozessen.

    Übersicht über die Entwicklung in Quellcode

    Sie können bereichsbezogene Anwendungen in Code mit erstellen ServiceNow IDEAuf ServiceNow AI PlatformOder lokal in Visual Studio CodeDesktop mit ServiceNow SDK.

    In einer der Entwicklungsumgebungen verwenden Sie ServiceNow Fluent, Eine domänenspezifische Programmiersprache, um die Metadaten zu definieren, aus denen Anwendungen bestehen. ServiceNow FluentEnthält APIs zum Definieren der verschiedenen Metadatentypen.

    Mit ServiceNow IDEOder ServiceNow SDK, Sie können auch JavaScript-Module erstellen und Bibliotheken von Drittanbietern in Ihrer Anwendung verwenden, um die Wiederverwendung von Code in Skripts innerhalb einer bereichsbezogenen Anwendung zu optimieren.

    Durch die Entwicklung und Wartung von Anwendungen im Quellcode können Sie in vertrauten Entwicklungsumgebungen arbeiten, komplexe Anwendungen erstellen und ändern, Code in der Quellcodeverwaltung einfacher verwalten und Fehler beim Build erkennen.

    Hinweis:
    Die ServiceNow IDEUnd ServiceNow SDKUnterstützt derzeit den globalen Bereich oder globale Anwendungen nicht.

    Vergleich von ServiceNow IDEUnd ServiceNow SDK

    Funktion ServiceNow IDE ServiceNow SDK
    Entwicklungsumgebung Online ServiceNowInstanz Lokale Entwicklung und die Fähigkeit, offline zu arbeiten
    Anwenderoberfläche IDE basiert auf Visual Studio CodeFür das Web Visual Studio Code Desktop
    Zusammenarbeit Zeigen Sie Änderungen von Anwendern in Echtzeit als Code oder eingebettet an ServiceNow AI PlatformAnwenderoberflächen aus dem Metadaten-Explorer.

    Arbeiten Sie mit anderen Entwicklern an Anwendungen in der Quellcodeverwaltung zusammen.

    Laden Sie Changes aus einer Instanz herunter, und installieren Sie lokale Changes mit in einer Instanz ServiceNow SDKCLI zur Zusammenarbeit mit anderen Anwendern.

    Arbeiten Sie mit anderen Entwicklern an Anwendungen in der Quellcodeverwaltung zusammen.

    Quellcodeverwaltung Unterstützt die gängigste Git-Funktionalität und die Integration in einen Git-Anbieter Ihrer Wahl.

    Eine gleichzeitige Verzweigung pro Repository pro Instanz (Oder Entwickler-Sandbox) .

    Vollständiger Support
    Anwendungskonvertierung Unterstützung für die Konvertierung vorhandener bereichsbezogener Anwendungen, die nicht mit erstellt wurden ServiceNow IDEOder ServiceNow SDK. Unterstützung für die Konvertierung vorhandener bereichsbezogener Anwendungen, die nicht mit erstellt wurden ServiceNow IDEOder ServiceNow SDK.
    ServiceNow Fluent Vollständiger Support

    Die ServiceNow FluentSprachserver ist in enthalten ServiceNow IDE.

    Vollständiger Support

    Die ServiceNow FluentSprachserver kann über installiert werden Visual Studio CodeErweiterungs-Marktplatz.

    JavaScript-Module und Drittanbieterbibliotheken Vollständiger Support Vollständiger Support
    Now Assist für Code Unterstützung der automatischen Codevervollständigung für Skripts.

    Informationen zur Aktivierung finden Sie unter Now Assist for Code.

    Nicht unterstützt
    Build-Agent Vollständiger Support. Der Zugriff auf den Build-Agent erfolgt über einen Chat-Bereich in ServiceNow IDE.

    Informationen zur Aktivierung finden Sie unter ../../build-agent/concept/build-agent.html.

    Nicht unterstützt

    Anwendungsstruktur

    Anwenderdefinierte bereichsbezogene Anwendungen, die mit erstellt wurden ServiceNow IDEOder ServiceNow SDKQuellcodedateien und Metadaten-XML-Dateien einschließen. Die Package.JSON Und Now.config.JSON Dateien definieren die Anwendungsstruktur, die der von Node.js-Anwendungen oder Node-Paketmanager (NPM)-Paketen ähnelt.

    Abbildung : 1. Standardstruktur einer Anwendung, die in erstellt wurde ServiceNow IDE
    Struktur einer Anwendung, die in erstellt wurde ServiceNow IDE

    Standardmäßig enthalten Anwendungen die folgenden Verzeichnisse und Dateien. Sie können bestimmte Aspekte der Anwendungsstruktur entsprechend Ihren Anforderungen in ändern Now.config.JSON Datei.

    .Vscode
    Verzeichnis mit „Empfohlen“ Visual Studio CodeErweiterungen.
    verteilung
    Verzeichnis, das die Build-Artefakte für das Packaging enthält. Dieses Verzeichnis enthält die folgenden Unterverzeichnisse:
    • App : Verzeichnis mit den erstellten Metadaten-XML-Dateien.
    • Statisch : Verzeichnis mit den erstellten statischen Asset-Dateien.
    Metadaten

    Verzeichnis, das die Anwendungsmetadaten (XML) der Anwendung enthält, z. B. Tabellenschemata und Business-Regeln, das in der gleichen Verzeichnisstruktur wie vorhanden organisiert ist ServiceNowAnwendungen.

    Hinweis:
    Anwendungsmetadaten dürfen nicht aus den XML-Dateien bearbeitet werden. Bearbeiten Sie Anwendungsmetadaten im Quellcode oder auf ServiceNow AI Platform.
    Node_modules
    Verzeichnis mit den Knoten-js-Modulen der Drittpartei, von denen Ihre Anwendung abhängt.
    src
    Verzeichnis, das den Quellcode Ihrer Anwendung enthält. Dieses Verzeichnis enthält die folgenden Unterverzeichnisse:
    • Client : Verzeichnis mit den clientseitigen Dateien für die Entwicklung von Anwenderoberflächen.
    • Fluent : Verzeichnis mit ServiceNow FluentCode in .Jetzt.TS Dateien. Die Generiert Unterverzeichnis enthält die in konvertierten Anwendungsdateien ServiceNow Fluent.
    • Server : Verzeichnis mit JavaScript-Modulcode in .Js Oder .TS Dateien.
    Ziel
    Verzeichnis, das ein installierbares Paket enthält ( .Zip Datei) zum Hochladen in eine Instanz.
    .Eslintrc.JSON
    Datei, die die ESLint-Konfiguration enthält. ESLint hilft beim Identifizieren und Beheben von Problemen im Anwendungscode.
    .Gitignore
    Datei, die eine Liste von Verzeichnissen oder Dateien enthält, die Git ignorieren soll. Diese Dateien werden in der Quellcodeverwaltung nicht nachverfolgt.
    Now.config.JSON
    Datei mit ServiceNowAnwendungskonfiguration. Die Now.config.JSON Die Datei muss sich im Basisverzeichnis für eine Anwendung befinden.
    Sie können die Verzeichnisstruktur für eine Anwendung konfigurieren, indem Sie die folgenden Parameter hinzufügen. Zum Beispiel:
    {
      "scope": "x_snc_example_app",
      "scopeId": "2f8400eb07426110f736e28f69d3017a",
      "name": "ExampleApp",
      "dependencies": {
        "global": {
          "tables": ["incident"],
          "roles": ["admin"],
        },
        "x_custom": {
          "tables": ["custom_table"]
        }
      },
      "metadataDir": "metadata",
      "fluentDir": "src/fluent",
      "generatedDir": "generated",
      "serverModulesDir": "src/server",
      "clientDir": "src/client",
      "appOutputDir": "dist/app",
      "staticContentDir": "dist/static",
      "packOutputDir": "target",
      "modulePaths": {
          "src/server/*.ts": "dist/server/*.js",
        },
      "staticContentPaths": {
          "src/client/*.html": "dist/static/*.html",
        },
      "ignoreTransformTableList": ["ua_table_licensing_config", "sys_embedded_help_role"],
      "taxonomy": {
            "mapping": {
                "sys_script": "scripts/server/rules",
                "custom_table": "my-custom-folder/my-nested-folder"
            },
            "fallbackFolderName": "unclassified" 
        }
    }
    Tabelle : 1. Unterstützte Now.config.JSON-Parameter
    Parameter Beschreibung
    Abhängigkeiten Die Elemente in einem anderen Anwendungsbereich, von dem Ihre Anwendung abhängt. Sie müssen den Anwendungsbereich und den Abhängigkeitstyp und Namen oder sys_IDs angeben.
    "dependencies": {
        "<scope>": {
          "<type>": ["<sys_id or name>"],
          ...
        },
        ...
    }

    Weitere Informationen finden Sie unter Herunterladen ServiceNow FluentAnwendungsabhängigkeiten.

    Metadatadir Verzeichnis, das die Metadaten der Anwendung als XML-Dateien enthält.

    Standard: Metadaten

    Fluentdir Verzeichnis enthält ServiceNow FluentDateien ( .Jetzt.TS ), die Anwendungsmetadaten im Quellcode definieren.

    Standard: src/Fluent

    Generateddir Verzeichnis mit generiert ServiceNow FluentDateien, einschließlich vorhandener Anwendungsmetadaten, die in konvertiert wurden ServiceNow FluentCode. Dieses Verzeichnis ist relativ zu dem mit definierten Verzeichnis fluentDirParameter.

    Standard: Generiert

    ServerModuleVers Verzeichnis mit den JavaScript- oder TypeScript-Dateien, die in JavaScript-Module zur Verwendung in serverseitigen Skripts integriert werden sollen.

    Standard: src/Server

    Clientdir Verzeichnis, das die clientseitigen Dateien für die Entwicklung von Anwenderoberflächen mit React enthält.

    Standard: src/Client

    AppOutputdir

    Verzeichnis, in das die Build-Artefakte für das Packaging ausgegeben werden sollen. Die Pack- und Installationsbefehle verweisen auf dieses Verzeichnispaket, die Artefakte.

    Standard: verteilung/App

    StaticContentdir Verzeichnis zur Ausgabe der statischen Asset-Dateien, die für die Entwicklung von Anwenderoberflächen verwendet werden.

    Standard: verteilung/statisch

    PaketAusgabeverzeichnis Verzeichnis zur Ausgabe des installierbaren Pakets ( .Zip Datei) beim Erstellen der Anwendung. Der Installationsbefehl verweist auf dieses Verzeichnis, um das Paket zu installieren.

    Standard: Ziel

    ServerModulesIncludePatterns Eine Liste von Dateimustern, die beim Erstellen von JavaScript-Modulen enthalten sein sollen.
    Standard:
    [
      "**/*.ts",
      "**/*.tsx",  
      "**/*.js",
      "**/*.jsx",
      "**/*.cts",
      "**/*.cjs",
      "**/*.mts",
      "**/*.mjs",
      "**/*.json"
    ]
    ServerModuleAusschließenMuster Eine Liste von Dateimustern, die beim Erstellen von JavaScript-Modulen ausgeschlossen werden sollen.
    Standard:
    [
      "**/*.test.ts",
      "**/*.test.js",
      "**/*.d.ts"
    ]
    ModulePaths Eine Zuordnung der Modulquelldateien zu den entsprechenden Ausgabedateien, wenn Sie vor dem Erstellen der Anwendung einen anwenderdefinierten Transpilationsschritt verwenden. Weitere Informationen finden Sie unter Verwendung von TypeScript in JavaScript-Modulen mit ServiceNow SDK.
    Warnung:
    Sie können diesen Parameter und nicht verwenden TsconfigPath Parameter. Die Konfiguration beider Elemente führt zu einem Fehler.
    StaticContentPaths Eine Zuordnung der clientseitigen Quelldateien zu den Ausgabepfaden für statische Asset-Dateien.
    TsconfigPath Ein Pfad zu Tsconfig.JSON Datei mit anwenderdefinierten Optionen für die Übertragung von TypeScript in JavaScript während des Build-Prozesses. Wird angegeben TsconfigPath Generiert Diagnosergebnisse aus TypeScript mithilfe von Tsconfig.JSON Datei.
    Warnung:
    Sie können diesen Parameter und nicht verwenden ModulePaths Parameter. Die Konfiguration beider Elemente führt zu einem Fehler.

    Standard: .

    IgnoreTransformTableList Eine Liste von Tabellen, die beim Umwandeln von Anwendungsmetadaten in Quellcode ignoriert werden sollen.
    TableAusgabeFormat Der Typ der Build-Artefakte für Tabellenmetadaten, die aus XML generiert wurden ServiceNow FluentCode.
    Gültige Werte:
    • Bootstrap: Der Build-Prozess gibt eine Bootstrap-XML-Datei mit aus <database> Stammelement für die Tabelle, Feldbezeichnungs-XML-Dateien [sys_documentation], Lizenzierungskonfigurations-XML-Dateien [ua_table_Licensing_config] und automatische Nummerierung von XML-Dateien [sys_number].
    • Komponente: Der Build-Prozess gibt XML-Dateien für jede Komponente der Tabellen-API aus.

    Standard: Bootstrap

    Taxonomie Eine Konfiguration zum Organisieren wurde generiert ServiceNow FluentDateien, die Tabellennamen Verzeichnissen zuordnen und ein Fallback-Verzeichnis definieren. Die standardmäßige Taxonomiekonfiguration verwendet ServiceNowHinzuzufügende Standardtabellenklassifizierungen generiert ServiceNow FluentDateien in einer logischen Verzeichnisstruktur innerhalb von Fluent/generiert Verzeichnis, in das Metadaten anfänglich umgewandelt werden ServiceNow FluentCode. Zum Beispiel:
    • Business-Regeln [sys_script] werden zu hinzugefügt Fluent/generated/Server-Development/Business-rule Verzeichnis.
    • Skripteinbindungen [sys_script_include] werden zu hinzugefügt Fluent/generated/Server-Development/script-include Verzeichnis.

    Sie können die Standardzuordnungen überschreiben oder zusätzliche Zuordnungen konfigurieren. Im folgenden Beispiel überschreibt die Konfiguration das Standardverzeichnis für Business-Regeln [sys_script] und den Fallback-Ordner und konfiguriert eine zusätzliche Zuordnung für Metadaten aus einer anwenderdefinierten Tabelle.

    "taxonomy": {
            "mapping": {
                "sys_script": "scripts/server/rules",
                "custom_table": "my-custom-folder/my-nested-folder"
            },
            "fallbackFolderName": "unclassified"
    }
    • Zuordnung: Ein Objekt, das Tabellennamen Verzeichnissen zuordnet. Verzeichnispfade beziehen sich auf das mit konfigurierte Verzeichnis generatedDirParameter und darf nur Kleinbuchstaben, Zahlen, Bindestriche, Unterstriche und Schrägstriche enthalten, um Unterverzeichnisse zu trennen.
    • FallbackFolderName: Ein Name für ein Verzeichnis, das für Tabellen verwendet werden soll, für die keine Standard- oder anwenderdefinierte Zuordnung konfiguriert ist. Innerhalb dieses Verzeichnisses ServiceNow FluentDateien werden Unterverzeichnissen hinzugefügt, die nach der Tabelle benannt sind, z. B. src/Fluent/generated/other/x-unmap-table/ .

    Standard: Standardtaxonomiezuordnungen sind für alle Standards definiert ServiceNowTabellen und werden automatisch angewendet, wenn in keine anwenderdefinierte Konfiguration definiert ist Now.config.JSON Für eine Anwendung. Der Standardwert von fallbackFolderNameIst Sonstiges .

    Now.Prebuild.mjs
    Automatisch aktualisierte Datei mit vollständigen Informationen zu Abhängigkeiten und ihren Versionen. Diese Datei ist nur mit verfügbar ServiceNow SDK.
    Package-Lock.JSON
    Automatisch aktualisierte Datei mit vollständigen Informationen zu Abhängigkeiten und ihren Versionen. Diese Datei ist nur mit verfügbar ServiceNow SDK.
    Package.JSON

    Datei mit Informationen zu Ihrer Anwendung und anwenderdefinierten Modulabhängigkeiten oder Drittanbietermodulabhängigkeiten. Die Package.JSON Die Datei muss sich im Basisverzeichnis für eine Anwendung befinden. In einer Instanz: Package.JSON Pfad ist in angegeben Paket-JSON Feld des anwenderdefinierten Anwendungsdatensatzes [sys_App] im Format <scope>/<package-name>/<version>/Package.JSON .

    Zugehörige Anwendungen und Funktionen

    JavaScript-APIs
    Verwenden Sie JavaScript-APIs in Skripts, die Sie schreiben, um die Funktionalität von Anwendungen zu ändern oder wenn Sie Anwendungen erstellen.