Configuration d’application personnalisée dans le code source

  • Rversion finale: Australia
  • Mis à jour 20 mars 2026
  • 5 minutes de lecture
  • Configurez une application personnalisée [sys_app] dans le fichier now.config.json pour une application dans le code source.

    Vous pouvez configurer les paramètres de l’application et les aspects spécifiques au développement de l’application dans le code source, tels que la structure des répertoires. Dans le fichier now.config.json , ajoutez les paramètres suivants pour configurer les paramètres de l’application.

    Tableau 1. Paramètres now.config.json pris en charge
    Paramètre Type Description
    appOutputDir Chaîne Répertoire dans lequel afficher les artefacts de version pour l’empaquetage. Les commandes pack et install se réfèrent à ce répertoire pour empaqueter les artefacts.

    Par défaut : dist/app

    répertoire clientDir Chaîne Répertoire contenant les fichiers côté client pour le développement d’interfaces utilisateur avec React.

    Valeur par défaut : src/client

    dépendances Objet Les éléments d’un autre périmètre de l’application dont dépend votre application. Vous devez spécifier le périmètre de l’application ainsi que le type de dépendance et les noms ou sys_ids.
    "dependencies": {
        "<scope>": {
          "<type>": ["<sys_id or name>"],
          ...
        },
        ...
    }

    Pour plus d'informations, consultez Télécharger ServiceNow Fluent les dépendances d’applications.

    fluentDir Chaîne Répertoire contenant ServiceNow Fluent les fichiers (.now.ts) qui définissent les métadonnées d’application dans le code source.

    Par défaut : src/fluent

    répertoire generatedDir Chaîne Répertoire contenant les fichiers générés ServiceNow Fluent , y compris les métadonnées d’application existantes converties en ServiceNow Fluent code. Ce répertoire est relatif au répertoire défini avec le fluentDir paramètre.

    Par défaut : généré

    ignoreTransformTableList Tableau Une liste de tables à ignorer lors de la transformation des métadonnées d’application en code source.
    répertoire metadataDir Chaîne Répertoire contenant les métadonnées de l’application sous forme de fichiers XML.

    Par défaut : métadonnées

    Chemins d’accès des modules Objet Mappage des fichiers sources du module à leurs fichiers de sortie équivalents si vous utilisez une étape de transpilation personnalisée avant de créer l’application. Pour plus d'informations, consultez L’utilisation de TypeScript dans les modules JavaScript avec l’appli ServiceNow SDK.
    Avertissement :
    Vous ne pouvez pas utiliser ce paramètre ni le paramètre tsconfigPath . La configuration des deux entraîne une erreur.
    packOutputDir Chaîne Répertoire permettant de générer le package installable (fichier .zip ) lors de la création de l’application. La commande install fait référence à ce répertoire pour installer le package.

    Par défaut : cible

    répertoire serverModulesDir Chaîne Répertoire contenant les fichiers JavaScript ou TypeScript à intégrer dans les modules JavaScript à utiliser dans des scripts côté serveur.

    Par défaut : src/server

    serverModulesExcludePatterns Tableau Une liste des schémas de fichier à exclure lors de la création de modules JavaScript.
    Par défaut :
    [
      "**/*.test.ts",
      "**/*.test.js",
      "**/*.d.ts"
    ]
    serverModulesIncludePatterns Tableau Liste des schémas de fichier à inclure lors de la création de modules JavaScript.
    Par défaut :
    [
      "**/*.ts",
      "**/*.tsx",  
      "**/*.js",
      "**/*.jsx",
      "**/*.cts",
      "**/*.cjs",
      "**/*.mts",
      "**/*.mjs",
      "**/*.json"
    ]
    staticContentDir Chaîne Répertoire de sortie des fichiers d’actifs statiques utilisés pour développer des interfaces utilisateur.

    Par défaut : dist/static

    staticContentPaths Objet Mappage des fichiers sources côté client aux chemins de sortie des fichiers d’actifs statiques.
    defaultLanguage Chaîne Code BCP 47 d’une langue par défaut pour les étiquettes de champ [sys_documentation] dans une table ou une colonne. La langue par défaut est utilisée pour résoudre les étiquettes de champ avec plusieurs langues.

    Par défaut : en

    tableOutputFormat Chaîne Type d’artefacts de version pour les métadonnées de table XML générées à partir du ServiceNow Fluent code.
    Valeurs valides :
    • bootstrap : le processus de construction génère un fichier XML d’amorce avec l’élément racine <database> pour la table, les fichiers XML d’étiquette de champ [sys_documentation], les fichiers XML de configuration de la gestion des licences [ua_table_licensing_config] et les fichiers XML à numérotation automatique [sys_number].
    • component : le processus de build génère des fichiers XML pour chaque composant de l’API Table.

    Par défaut : bootstrap

    Taxonomie Objet Configuration d’organisation des fichiers générés ServiceNow Fluent , qui mappe les noms de tables aux répertoires et définit un répertoire de secours. La configuration de taxonomie par défaut utilise ServiceNow des classifications de table standard pour ajouter les fichiers générés ServiceNow Fluent dans une structure de répertoire logique au sein du répertoire fluent/généré lorsque les métadonnées sont initialement transformées en ServiceNow Fluent code. Par exemple :
    • Les règles métier [sys_script] sont ajoutées au répertoire fluent/generated/server-development/business-rule .
    • Les includes de script [sys_script_include] sont ajoutés au répertoire fluent/generated/server-development/script-include .

    Vous pouvez remplacer les mappages par défaut ou en configurer des supplémentaires. Dans l’exemple suivant, la configuration remplace le répertoire par défaut pour les règles métier [sys_script] et le dossier de secours, et configure un mappage supplémentaire pour les métadonnées d’une table personnalisée.

    "taxonomy": {
            "mapping": {
                "sys_script": "scripts/server/rules",
                "custom_table": "my-custom-folder/my-nested-folder"
            },
            "fallbackFolderName": "unclassified"
    }
    • mappage : objet qui mappe les noms de table aux répertoires. Les chemins d’accès aux répertoires sont relatifs au répertoire configuré avec le generatedDir paramètre et doivent inclure uniquement des lettres minuscules, des chiffres, des tirets, des traits de soulignement et des barres obliques vers des sous-répertoires distincts.
    • fallbackFolderName : nom d’un répertoire à utiliser pour les tables qui n’ont pas de mappage par défaut ou personnalisé configuré. Dans ce répertoire, ServiceNow Fluent les fichiers sont ajoutés à des sous-répertoires nommés d’après la table, tels que src/fluent/generated/other/x-unmapped-table/.

    Par défaut : les mappages de taxonomie par défaut sont définis pour toutes les tables standard ServiceNow et sont automatiquement appliqués lorsqu’aucune configuration personnalisée n’est définie dans le now.config.json d’une application. La valeur par défaut est fallbackFolderNameautre.

    Modules de confiance Tableau Liste des packages npm à identifier comme approuvés (ou internes). Les modules approuvés ont accès aux ServiceNow API. Par exemple :
    "trustedModules": [
      "<package-name>",  // Specific package
      "@servicenow/*"  // All packages from an organization
    ]

    Dans la table du module ECMAScript [sys_module], le champ Source externe est défini sur false pour les modules approuvés.

    Avertissement :
    N’ajoutez que les dépendances auxquelles vous faites entièrement confiance en tant que modules approuvés.
    Schémas valides :
    • Noms de package complets, tels que « @servicenow/sdk ».
    • Préfixes de l’organisation avec un caractère générique, tel que « @servicenow/* » ou « @mycompany/* ».
    tsconfigPath Chaîne Chemin d’accès à un fichier tsconfig.json avec des options personnalisées pour la transpilation de TypeScript en JavaScript pendant le processus de génération. La spécification d’un tsconfigPath génère des résultats de diagnostic à partir de TypeScript à l’aide du fichier tsconfig.json .
    Avertissement :
    Vous ne pouvez pas utiliser ce paramètre ni le paramètre modulePaths . La configuration des deux entraîne une erreur.

    Par défaut : .

    Configuration de l’application dans le code source

    {
      "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" 
        }
    }