SDK での ServiceNow TypeScript の使用

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む5読むのに数分
  • SDK で JavaScript モジュールを作成する場合は、 ServiceNow TypeScript を使用します。

    TypeScript は、静的型指定と型注釈を使用して、開発者が でコード Visual Studio Codeを記述しているときにエラーを早期に検出できるようにサポートします。

    TypeScript の使用に関する一般的な情報については、typescriptlang.org Web サイトの TypeScript ドキュメント を参照してください。

    モジュールで TypeScript を使用する

    アプリケーションに TypeScript のサポートを追加することで、モジュールで TypeScript を使用します。

    始める前に

    TypeScript バージョン 4.8.4 以降をインストールします。インストール手順については、typescriptlang.org Web サイトの「 TypeScript のダウンロード 」を参照してください。

    必要なロール:admin

    手順

    1. アプリケーションのベースディレクトリに、アプリケーションをコンパイルするためのオプションを定義する tsconfig.json ファイルを追加します。
      outDir パラメーターの値は、アプリケーションの package.json ファイル内の moduleDir の値と一致する必要があります。デフォルトでは、 moduleDirsrc に設定されています。
      {
          "compilerOptions": {
             "outDir": "src",
             "rootDir": "src",
             "allowJs": true,
         },
         "include": ["./src/**/*"]
       }
    2. アプリケーションの package.json ファイルで、次の変更を行います。
      1. devDependencies オブジェクトで、TypeScript パッケージとバージョンを追加します。
        最新バージョンの TypeScript を使用することをお勧めします。
        "devDependencies": {
                "@servicenow/glide": "25.0.0-alpha.10",
                "eslint": "8.50.0",
                "eslint-plugin-n":"16.2.0",
                "typescript": "5.3.3"
            }
      2. scripts オブジェクトで、TypeScript (.ts) モジュールをコンパイルするビルドスクリプトを、インスタンスで使用するために JavaScript (.js) に追加します。
        {
            "scripts": {
                "build": "tsc --build --clean && tsc --build && now-sdk build"
            }
        }
    3. TypeScript モジュールを JavaScript ファイルにコンパイルし、アプリケーションをビルドします。
      1. アプリケーションディレクトリから、システムでコマンドラインツールを開きます。
      2. 次のコマンドを入力します。
        npm run build

    API のタイプ定義を追加する

    Glide API の外部にある API およびスクリプト可能オブジェクトの先行入力サポートを取得します。

    始める前に

    必要なロール:admin

    このタスクについて

    SDK アプリケーションでモジュールを直接 ServiceNow 宣言して、先行入力をサポートするために API へのスタブ アクセスを行います。これらのモジュールはアプリケーション パッケージにはパッケージ化されませんが、アプリケーションのソース管理リポジトリで追跡し、開発者間で共有できます。

    手順

    1. アプリケーション ディレクトリで、型定義用の TypeScripe (.ts) ファイルを追加します。
    2. TypeScript ファイルで、API とスクリプト可能オブジェクトのモジュールを宣言します。
      この例では、API 名前空間 (sn_app_api) を使用して API のモジュールを宣言します
      declare module '@servicenow/glide/sn_app_api' {
      	class AppStoreAPI {
      		static canUpgradeAnyStoreApp(): boolean
      	}
      } 
      この例では、スクリプトインクルード (x_1234_scope) のスコープを使用して、スクリプトインクルードで定義されたオブジェクトにアクセスするためのモジュールを宣言します
      declare module '@servicenow/glide/x_1234_scope' {
      	class MyLogItemClass {
      		myLogFunction()
      	}
      }
    3. アプリケーションの JavaScript モジュールで、宣言されたモジュールをインポートします。
      この例では、AppStoreAPI に対して宣言されたモジュールをインポートします。
      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!`)
      	}
      }
      この例では、MyLogItemClass オブジェクトの宣言されたモジュールをインポートします。
      import { MyLogItemClass } from '@servicenow/glide/x_1234_scope'
      
      export const myLogFunction = function (status) {
      	const myLogItem = new MyLogItemClass()
      	myLogItem.myLogFunction(status)
      }
      注:
      モジュールは、グローバルスクリプト可能オブジェクトまたは同じアプリケーションスコープ内のスクリプト可能オブジェクトにのみアクセスできます。