---
title: "JSモジュールを作成する"
slug: "create-a-js-module"
abstract: "再利用可能なJSモジュールをSitecore Personalize作成し、構文チェックやタイムスタンプの正確性のためのmoment.jsを備えてプログラム可能な意思決定を行えます。"
---
# JSモジュールを作成する

技術ユーザーはプログラム可能な決定内で再利用可能なJavaScript関数を作成できます。JSモジュールが公開されると、プログラム可能な決定にインポート可能です。モジュールが公開された後は編集できません。モジュールがプログラム可能にインポートされた後は編集や削除ができません。

作業中は頻繁にモジュールをドラフト状態で保存することをお勧めします。これにより検証チェックが実行され、誤りを迅速に修正できます。構文やフォーマットの検証に加え、システムは次のセクションで述べる制限点もチェックします。

JavaScriptにタイムスタンプを入れる際に誤りを避けるために、[moment.js](https://momentjs.com/)ライブラリをご利用ください。このライブラリでは、日付や時間のフォーマットをJavaScriptで解析、検証、操作、表示できます。さらに、タイムゾーンライブラリを読み込んで特定のタイムゾーンに日付をフォーマットすることも可能です。

load("classpath:moment.js");
load("classpath:moment-timezone.js");

## 制限事項

-   単一モジュールの最大サイズは100KBです。
-   JavaScriptはES5互換でなければなりません。
-   外部サービスへの通話は許可されていません。

モジュール作成の任意の段階で変更を保存できます。モジュールはドラフト状態のままで、公開するまで編集可能です。

*User*、*Developer*、または*Admin*の役割を持つチームメンバーは、JSモジュールを作成Sitecore Cloud Portalできます。

JSモジュールを作成するには:

1.  ナビゲーションメニューで、**JSモジュール**\>**開発者センター**をクリックします。
    
2.  **JSモジュール**のページで**「作成**」をクリックします。
    
3.  「 **新しいモジュールに名前を付け** る」フィールドに、JSモジュールの直感的な名前を入力してください。IDに許可されている文字はラテンアルファベット、数字、下線です。入力すると、モジュール名がIDフィールドに表示されます。
    
    > !ヒントモジュールに意味のある名前を付け、ユーザーがモジュールの位置を特定し、インポート時にその機能を理解しやすくしましょう。
    
4.  **「作成**」をクリックします。
    
5.  オプションでモジュールエディターの **詳細** ペインで、以下をクリックしてください:
    
    -   **仮説** - JSモジュールの説明を入力します。この方法を推奨します。これは、他のユーザーがモジュールを使用する際にその機能を理解できるようにするためです。
    -   **タグを追加** - モジュールのタグを入力してください。これらは **JSモジュール** のページでモジュールのリストをフィルタリングするために使われます。
6.  **コード**セクションで「**コーディング開始**」をクリックします。コードエディターの**JavaScript**タブでJavaScriptモジュールを入力してください。コードを自動的にフォーマットしインデンJavaScriptトするには、![Format JS icon](https://doc.sitecore.com/api/markdown-image/personalize/ja/users/sitecore-personalize/images/preetify.png)をクリックしてください。
    
    以下の例は、ゲストタイプが顧客の場合に返す簡単な関数で、true応答を返します。
    
    function isCustomer(guest) {
     return guest.guestType === 'customer';
    }
    
    > !注 [サポートされている](https://doc.sitecore.com/personalize/ja/users/sitecore-personalize/developer-center/js-modules/supported-javascript-functions.html "Supported JavaScript functions")JavaScript関数と [サポートされていない](https://doc.sitecore.com/personalize/ja/users/sitecore-personalize/developer-center/js-modules/unsupported-javascript-functions-and-alternatives.html "Unsupported JavaScript functions and alternatives") 関数に慣れておくことをお勧めします。
    
7.  右ペインの **「Data** 」タブをクリックしてゲストデータモデルの属性やパスをコピーし、JavaScriptエディターに貼り付けてください。 ![edit icon](https://doc.sitecore.com/api/markdown-image/personalize/ja/users/sitecore-personalize/images/CDP_webtemp_pencilicon.png) をクリックして、以下のいずれかを選択します:
    
    -   ゲストタイプに基づくランダムなゲストの属性を見るには、検索ボックスをクリックし、「 **クイックセレクトカスタマー**」または「**クイックセレクトビジター**」を選択します。システムは最近アクティブだったゲストを選択します。
        
    -   特定のゲストからフィールドを選択するには、検索ボックスにそのゲストの固有の識別子を入力します。例えば、セグメントメンバーシップを動的データとして使いたい場合は、そのセグメントのメンバーであるゲストを検索してください。例えば、メールアドレス、他のユニークな識別子、ブラウザIDを使ってゲストを検索できます。
        
        > !ヒントコードの設定やテスト時によく使うゲストがいる場合は、**スター** アイコンをクリックしてゲストをブックマークし、検索しなくて済むようにしましょう。
        
8.  [モジュールをテスト](https://doc.sitecore.com/personalize/ja/users/sitecore-personalize/developer-center/js-modules/test-a-js-module.html "Test a JS module")することをお勧めします。JSモジュールを保存するには、「**保存**」をクリックしてください。
    
9.  JSモジュールを公開するには、戻る矢印をクリックし、「 **公開」**をクリックしてください。
    
10.  確認ダイアログで「 **公開**」をクリックします。JSモジュールはユーザーがプログラム可能な決定にインポートできます。
     
     > !警告モジュールを公開すると、編集やアンパブリッシュはできません。