Utilisation de TypeScript avec le Kit de développement logiciel (SDK)ServiceNow

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 2 minutes de lecture
  • Utilisez TypeScript lors de la création de modules JavaScript avec le Kit de développement logiciel (SDK ServiceNow ).

    TypeScript utilise un typage statique et des annotations de type pour permettre aux développeurs de détecter les erreurs plus tôt lors de l’écriture du code dans Visual Studio Code.

    Pour obtenir des informations générales sur l’utilisation de TypeScript, consultez la documentation TypeScript sur le site Web typescriptlang.org.

    Utiliser TypeScript dans les modules

    Utilisez TypeScript dans les modules en ajoutant la prise en charge de TypeScript dans votre application.

    Avant de commencer

    Installez TypeScript version 4.8.4 ou ultérieure. Pour obtenir des instructions d’installation, consultez Télécharger TypeScript sur le site Web typescriptlang.org.

    Rôle requis : admin

    Procédure

    1. Dans le répertoire de base de votre application, ajoutez un fichier tsconfig.json qui définit les options de compilation de l’application.
      La valeur du paramètre outDir doit correspondre à la valeur de moduleDir dans le fichier package.json de votre application. Par défaut, moduleDir est défini sur src.
      {
          "compilerOptions": {
             "outDir": "src",
             "rootDir": "src",
             "allowJs": true,
         },
         "include": ["./src/**/*"]
       }
    2. Dans le fichier package.json de l’application, apportez les modifications suivantes.
      1. Dans l’objet devDependencies , ajoutez le package et la version TypeScript.
        Il est recommandé d’utiliser la dernière version de TypeScript.
        "devDependencies": {
                "@servicenow/glide": "25.0.0-alpha.10",
                "eslint": "8.50.0",
                "eslint-plugin-n":"16.2.0",
                "typescript": "5.3.3"
            }
      2. Dans l’objet scripts , ajoutez un script de version qui compile les modules TypeScript (.ts) dans JavaScript (.js) à utiliser sur l’instance.
        {
            "scripts": {
                "build": "tsc --build --clean && tsc --build && now-sdk build"
            }
        }
    3. Compilez les fichiers TypeScript dans des modules JavaScript et générez votre application.
      1. À partir de votre répertoire d’application, ouvrez un outil de ligne de commande sur votre système.
      2. Entrez la commande suivante :
        npm run build

    Ajouter des définitions de type pour les API

    Bénéficiez de la prise en charge de la suggestion automatique pour les API et les objets pouvant contenir des scripts en dehors des API Glide.

    Avant de commencer

    Rôle requis : admin

    Pourquoi et quand exécuter cette tâche

    Déclarez des modules directement dans l’application ServiceNow SDK pour l’accès stub aux API pour la prise en charge de la suggestion automatique. Ces modules ne sont pas empaquetés dans le package de l’application, mais ils peuvent être suivis dans un référentiel de contrôle de code source pour l’application et partagés entre les développeurs.

    Procédure

    1. Dans votre répertoire d’application, ajoutez un fichier TypeScripe (.ts) pour les définitions de type.
    2. Dans votre fichier TypeScript, déclarez des modules pour les API et les objets pouvant contenir des scripts.
      Cet exemple déclare un module pour une API à l’aide de l’espace de noms API (sn_app_api) :
      declare module '@servicenow/glide/sn_app_api' {
      	class AppStoreAPI {
      		static canUpgradeAnyStoreApp(): boolean
      	}
      } 
      Cet exemple déclare un module pour accéder aux objets définis dans les script includes à l’aide de la portée du script include (x_1234_scope) :
      declare module '@servicenow/glide/x_1234_scope' {
      	class MyLogItemClass {
      		myLogFunction()
      	}
      }
    3. Dans les modules JavaScript de votre application, importez les modules déclarés.
      Cet exemple importe le module déclaré pour l’API AppStore.
      import { gs } from '@servicenow/glide'
      import { AppStoreAPI } from '@servicenow/glide/sn_app_api'
      
      export const canUpgradeStoreApp = function () {
      	var canUpgrade = AppStoreAPI.canUpgradeAnyStoreApp()
      	if (canUpgrade) {
      		gs.addInfoMessage(`You can upgrade store apps!`)
      	} else {
      		gs.addInfoMessage(`You cannot upgrade store apps!`)
      	}
      }
      Cet exemple importe le module déclaré pour l’objet MyLogItemClass.
      import { MyLogItemClass } from '@servicenow/glide/x_1234_scope'
      
      export const myLogFunction = function (status) {
      	const myLogItem = new MyLogItemClass()
      	myLogItem.myLogFunction(status)
      }
      Remarque :
      Les modules ne peuvent accéder qu’aux objets pouvant contenir des scripts globaux ou aux objets pouvant contenir des scripts dans le même périmètre de l’application.