Headless SXA の新規プロジェクトを作成する

公開日 :

これまでプロジェクトに含まれている Haedless SXA のプロジェクトを利用していましたが、これは以前から提供している Next.js と違いはあるのでしょうか?今回は新しい Next.js のアプリを準備して動かすところまで進めてみます。

package.json を確認する

これまで動かしていた JSS のアプリの package.json を確認すると以下のように記載されています。

{
  "name": "sxastarter",
  "description": "Application utilizing Sitecore JavaScript Services and Next.js",
  "version": "21.4.0",
  "private": true,
  "config": {
    "appName": "sxastarter",
    "rootPlaceholders": [
      "jss-main"
    ],
    "sitecoreConfigPath": "/App_Config/Include/zzz",
    "graphQLEndpointPath": "/sitecore/api/graph/edge",
    "language": "en",
    "templates": [
      "nextjs",
      "nextjs-sxa",
      "nextjs-personalize",
      "nextjs-multisite"
    ]
  },

テンプレートとしては nextjs だけでなく、sxa、personalize および multisite が含まれています。では新しいプロジェクトを作っていきます。

新しい Next.js のプロジェクトを作成する

今回は src のディレクトリ( sxastarter もしくは rendering などが含まれている)パスで作業をしていきます。今回は以下のコマンドを実行します。

npx create-sitecore-jss

まず最初に、どのテンプレートを利用するのかの確認が表示されます。ここでは、next.js を選択してください。

random desc

続いてインストールするパスを確認してきます。今回は nextjs のまま進めます。

random desc

続いて pre build の時の動作を確認してきますが、ここでは Y を回答します。次はアプリの名前ですが、今回は sitecore-nextjs-app に名前を変更します。

random desc

Sitecore のホスト名を確認してきますが、今回はデフォルトのまま進めていきます。辞書のデータは Graphql で、SSG を選択します。

続いてどのテンプレートを利用するのか?という画面が表示されます。ここでは、上記の Package.json と同じ項目を選択します。

random desc

上記の選択をすると、必要な処理を実行します。

random desc

しばらくすると、新しい Next.js のアプリがプロジェクトに追加されます。

random desc

設定を新しいアプリに反映させる

まだほとんど設定していないため、以下のファイルを古いアプリからコピーしてください。

  • src\rendering\.env

  • src\rendering\src\components\Types.tsx

  • src\rendering\src\components\YouTube.tsx

また、next.config.js で言語の設定をしているため、以下のコードを変更してください。

  i18n: {     // These are all the locales you want to support in your application.     // These should generally match (or at least be a subset of) those in Sitecore.     locales: ['en', 'ja-JP'],     // This is the locale that will be used when visiting a non-locale     // prefixed path e.g. `/styleguide`.     defaultLocale: jssConfig.defaultLanguage,     localeDetection: false,   },

これで新しいアプリの準備ができました。

動作確認

実際に nextjs フォルダに移動して以下のコマンドを実行してください。

jss start:connected

しばらくすると、アプリが起動します。

random desc

URL にアクセスするとページを見ることができました。

random desc

package.json のファイルを見ると、バージョンが新しくなっているのがわかります。

random desc

まとめ

今回は新しい Next.js のアプリを立ち上げる手順を紹介しました。そのついでに、今回は新しいバージョンに変更することができました。