ServiceNow SDK を使用してアプリケーションで JavaScript モジュールを作成して使用する

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:4分
  • ServiceNow SDK および JavaScript モジュールで再利用可能なコードブロックを定義して、コードベースを最適化します

    始める前に

    ServiceNow SDKを使用してスコープ対象のアプリケーションを作成または変換します。詳細については、 を使用してアプリケーションを作成 する ServiceNow SDK または を参照してください。

    注:
    モジュールで TypeScript を使用するには、アプリケーションを作成または変換するときに --template パラメーターを typescript に設定します。TypeScript の使用をサポートするように既存のアプリケーションを構成するには、「 ServiceNow SDK で JavaScript モジュールの TypeScript を使用する」を参照してください。

    必要なロール:admin

    このタスクについて

    スコープ対象のアプリケーションでの JavaScript モジュールの使用のサポートについて、いくつかの制限を含めて、「 JavaScript モジュールとサードパーティライブラリ」を参照してください。 JavaScript モジュールの作成に使用される構文に関する一般的な情報については、MDN Web Docs Web サイトの「JavaScript modules (JavaScript モジュール)」ページを参照してください。

    手順

    1. Visual Studio Code で、スコープ対象のアプリケーションのディレクトリを開きます。
    2. アプリケーションの src/server ディレクトリに、再利用するモジュールコードを含む JavaScript または TypeScript ファイルを作成します。
    3. オプション: グローバル Glide API をインポートして、モジュールから呼び出します。
      import { gs } from '@servicenow/glide'
    4. モジュールで、エクスポートするコードを export ステートメントで指定します。

      名前付きエクスポートまたはデフォルトのエクスポートを使用できます。名前付きエクスポートは変数、定数、関数、またはクラスにすることができますが、デフォルトのエクスポートは関数またはクラスのみにすることができます。

      次の例は、モジュール内の複数の機能 (関数と変数) の名前付きエクスポートを追加する 1 つの方法です。
      export { myFunction, myVariable };
      
    5. エクスポートされたモジュールのコードを他のモジュールまたはサーバー側スクリプトで使用します。
      ファイルステップ
      モジュール
      1. src/server ディレクトリから、JavaScript モジュールを作成するか開きます。
      2. import ステートメントを使用してモジュールコードをインポートします。
        次の例は、エクスポートされた機能をモジュールにインポートする 1 つの方法です。
        import { feature } from "path/to/module";
        
      3. このモジュールからモジュールコードを呼び出し、再利用します。
      ソースコード内のサーバー側スクリプト
      1. ソースコード (.now.ts ファイル) で、ビジネスルールなどのサーバー側スクリプトを含むアプリケーションメタデータの定義を作成するか、開きます。
      2. script プロパティで、モジュールコードをインポートして呼び出し、再利用します。
        関数をインポートするか、script タグが前に付いたインラインスクリプトを指定できます。
        • エクスポートされた関数、関数式、またはデフォルト関数をインポートします。例:
          script: FunctionExport,
        • インラインスクリプトでは、require ステートメントを使用してモジュールコードをインポートする必要があります。例:
          script: script`
              const { process } = require('./dist/modules/server/handler.js')
              process(request, response)`,

        ソースコードのサーバー側スクリプトの詳細については、「ServiceNow Fluent API リファレンス」を参照してください。

      サーバー側スクリプトレコード
      1. ビジネスルールなどのサーバー側スクリプトのレコードを開きます。
      2. require ステートメントを使用してモジュールコードをインポートします。
        次の例は、エクスポートされた機能をスクリプトにインポートする 1 つの方法です。
        const { feature } = require("path/to/module");
        
      3. このスクリプトからモジュールコードを呼び出し、再利用します。
    6. 変更内容を保存します。

    次のタスク

    JavaScript モジュールでサードパーティライブラリを使用するには、「ServiceNow SDK のアプリケーションでサードパーティのライブラリを使用する」を参照してください。

    アプリケーションをビルドし、モジュールを EcmaScript モジュール [sys_module] テーブルに追加するには、「ServiceNow SDK でアプリケーションをビルドして展開する」を参照してください。