---
title: "攻略:NuGetとnpmでのシリアライズ"
slug: "walkthrough--serializing-with-nuget-and-npm"
abstract: "NuGetとnpmを使って、シリアル化されたアイテムをソリューションにインポートする方法。"
---
# 攻略:NuGetとnpmでのシリアライズ

パッケージ参照(NuGetやnpm)を使って、シリア化されたアイテムをソリューションにインポートできます。

このウォークスルーでは、以下の方法を説明します:

-   パッケージを作成する
-   NuGetパッケージを作成する
-   npmパッケージを作成する
-   パッケージ参照を追加する

## パッケージを作成する

Sitecoreシリアライゼーションを含むパッケージを作成するには:

1.  パッケージのルートにsitecore.jsonファイルを追加します。このファイルにはシリアライゼーションモジュールファイルを指すmodulesプロパティが含まれています。
    
    > !注モジュールファイルはパッケージ内で異なるパターンに対応するために特定の整理方法にはなっていません。
    
    パッケージ構造の例:
    
    -   語根
        -   sitecore.json
        -   modules
            -   items/\*/\*.module.json
            -   npm:./packageSrc/npm-resource-package
            -   nuget:Sitecore.DevEx.NuGetResourcesExample@1.0.0
    
    sitecore.jsonファイルの例:
    
    {
     "modules": 
     "modules/\*.module.json"
     
    }
    
    Sitecore.DevEx.NuGetResourcesExample.module.jsonという名前のモジュールファイルの例:
    
    {
     "namespace": "Sitecore.DevEx.NuGetResourcesExample",
     "description": "Content serialization example",
     "items": {
     "includes": 
     {
     "name": "Content",
     "path": "/sitecore/content/home"
     }
     
     }
    }
    
2.  パッケージの設定が正しくできているか確認するために、以下のコマンドを実行します:
    
    dotnet sitecore serialization info
    
    コマンドが次のメッセージを返す場合、パッケージの設定は成功しています:
    
    Sitecore.DevEx.NuGetResourcesExample
    Content serialization example
     Subtrees:
     Content: /sitecore/content/home
    

## NuGetパッケージを作成する

パッケージのルートに**sitecore.json**ファイルを追加した後、NuGetパッケージを作成できます。

Sitecoreリソースを含むNuGetパッケージを作成するには:

1.  パッケージを定義するためにPackageName.nuspecファイルを追加します。例えば:
    
    <?xml version="1.0"?>
    <package >
     <metadata>
     <id>NugetResourcesExample</id>
     <description>Example NuGet package containing Sitecore resources</description>
     <authors>Sitecore</authors>
     <version>1.0.0</version>
     </metadata>
     <files>
     <!-- the sitecore.json and modules and items must be copied to the package -->
     <file src="NuGetResourcesExample\\sitecore.json" target="" />
     <file src="NuGetResourcesExample\\sitecore\\\*\*" target="sitecore" />
     </files>
    </package>
    
    > !注ファイルパスが相対的であれば、プロジェクト内のPackageName.nuspecファイルの特定の場所は設定されていません。
    
2.  パッケージしたいSitecoreリソースファイル(モジュールファイルやシリアル化されたアイテム)をPackageName.nuspecファイルのfilesセクションに追加してください。
    
3.  パッケージを構築するには、nuget packを実行してNuGetフィードにプッシュします。
    

## npmパッケージを作成する

**sitecore.json**ファイルをパッケージルートに追加した後、npmパッケージを作成できます。

Sitecoreリソースを含むnpmパッケージを作成するには:

1.  パッケージを定義するためにpackage.jsonファイルを追加します。例えば:
    
    {
     "name": "npm-example-package",
     "version": "1.0.0",
     "description": "Sample of providing SIC resources via npm"
    }
    
2.  .gitignoreまたは.npmignoreファイルを開き、npmパッケージに自動的に含めたいリソースが無視されていないか確認してください。
    

> !注ほとんどのnpmパッケージは、ご希望のパッケージリポジトリに公開する前に必ずしもビルドする必要はありません。

## パッケージ参照を追加する

> !重要パッケージ参照を使用するには、Sitecore CLI操作中にパッケージをインストールするために、PATH上でnugetまたはnpmコマンドとして利用可能である必要があります。

パッケージ参照をソリューションに追加するには:

-   sitecore.jsonファイルのmodulesプロパティで、以下のいずれかのエントリを追加します:
    
    -   nuget:<packagename>
    -   npm:<packagename>
    
    例えば:
    
    "modules": 
     "local-file-modules/\*.module.json",
     "npm:my-package",
     "npm:my-other-package@0.2.0", // version specs allowed per npm install
     "npm:./path/to/local/package", // local package on filesystem
     "nuget:Organization.MyPackage",
     "nuget:Organization.MyOtherPackage@2.1.1", // version specs allowed. No wildcards.
    ,
    
    > !注NuGetパッケージ参照は、マシン上で登録済みパッケージソースを使ってインストールします。カスタムパッケージソースを指定するには、リポジトリのルートにNuGet.configファイルを作成し、パッケージ参照を解決するためのカスタムフィードを格納できます。
    > 
    > 詳細については [、「NuGetによるコマンドラインインターフェースの拡張](https://doc.sitecore.com/xp/ja/developers/102/developer-tools/extend-the-command-line-interface-with-nuget.html "Extend the Command Line Interface with NuGet")」をご覧ください。
    

パッケージ参照が登録されると、モジュールを使用する任意のSitecore CLI操作中に自動的にインストールされ、モジュールの解析が行われます。モジュールのインストールはsitecore ser infoまたはsitecore ser pushで確認できます。モジュールの更新は、どのバージョン仕様にも基づき自動的に行われます。