Tailwind Logo

コンポーネント開発用の Next.js プロジェクトの作成(前編)

Next.js

公開日: 2024-07-22

Headless SXA でコンポーネントを作成する前に、Next.js で動作するコンポーネントの開発ができるように、別の Next.js のプロジェクトを今回は作成します。

プロジェクトの目的

XM Cloud の開発を進めていくにあたって、その環境の中で開発を行うことはもちろん可能です。ただ、開発をしたコンポーネントのポータビリティを高めることを目標に、別の Next.js のプロジェクトを今回は作成します。

基本的には XM Cloud にコンポーネントを持っていくためのコンポーネントのテストが主な目的です。

Next.js のプロジェクトを作成

今回は XM Cloud と連携するコンポーネントを開発するのが目的となるため、以下のような形で新しいプロジェクトを作成します。

  • Typescript - Yes
  • Tailwind CSS - Yes
  • App Router - No
xmc-components01.png

Next.js のサンプルページのデータを削除していきます。

まず、 src\pages\index.tsx のファイルをほぼ空っぽの状態にします。以下のコードは実際に XM Cloud の RichText コンポーネントが返す値をテスト用として今回はそのまま記述しています。

TypeScript
export default function Home() {
  return (
    <main>
      <div className="component rich-text basis-full">
        <div className="component-content">
          <div>
            <h1>Heading 1</h1>
            <p>paragraph</p>
            <h2>Heading 2</h2>
            <p>paragraph</p>
          </div>
        </div>
      </div>
    </main>
  );
}

src\styles フォルダを src\assets に変更します。このフォルダには、以下のフォルダと同じファイルを配置します。

動作確認

それでは実際に動作確認をします。

PowerShell
npm run dev

実行結果は以下のようになります。

xmc-components02.png

まとめ

今回はシンプルな Next.js の新しいプロジェクトを立ち上げ、Tailwind CSS のスタイルシートを適用して表示できるようにしました。

次回は Storybook を追加してコンポーネント化をしていきたいと思います。

関連タグ