Blog

Nuxt3にStorybookとTailWindCSSを入れるまで

こんにちは。最近PCを買い替えましたたけろいどです。

Nuxt3にStorybookとTailWindCSSを入れるまで

はじめに

Nuxt3、RC1おめでとうございます。 本リリースまでが待ち遠しいです。

ちょうど社内用ツールの開発があったのでNuxt3を導入しStoryBookなどのエコシステムを入れてみました。
Nuxt2であればモジュールが存在しますので簡単にセットアップできますがNuxt3はまだその辺りが充実していません。そのため手動でセットアップしていくこととなります。
その備忘録を残しておきます。だれかの参考になれば幸いです。

Nuxt3のインストール

まずはNuxt3をインストールしましょう sample-project部分はご自身のプロジェクトに合わせましょう

Storybook

パッケージインストール

必要なパッケージをインストールします。

.storybookディレクトリ作成

storybookの設定を行うディレクトリを作成します

main.jsとpreview.jsも書いておきます。

次はpackage.jsonにstorybookを立ち上げるコマンドを書きましょう

その後実際にyarn storybookなどでstorybookを立ち上げてみましょう
以下のような画面が表示されます。
まだstoriesがないのでその旨のエラーが吐かれていることがわかります。

エラーが表示されているがStorybookの起動は確認できた

storiesの作成

storiesを作成していきます。 まずは必要なディレクトリを切っていきましょう。

今回は以下のようなButton.vueを作成しました。

storiesも一緒に作成しましょう。

再度yarn storybookなどでstorybookを立ち上げてみます

無事Buttonが表示されています。

Storybookの起動が確認できた。

Storybookの導入ができました。 一方でTailWindCSSをStorybook上で使うことはまだできません。

次の章でTailWindCSSを導入していきます。

TailWindCSS

パッケージインストール

StorybookにTailWindCSSを動かす前にまずはNuxt3上で動作するようにしていきましょう。

必要なパッケージをインストールします。

初期化処理

Tailwindが入ったら初期化します。 tailwind.config.jsが作られていることを確認してください

これでTailwindCSSがVueファイル内で使えようになりました。class=”p_10”などを指定して確かめてみましょう。

StorybookとTailwindCSSをつなぐ

以上の設定によりStorybook起動とNuxt3上でのTailwindCSSの適応は確認できました。
一方でStorybook上でTailwindCSSが反映されておらずレビュー時に混乱を招く可能性があります。 このセクションではこれを解決していきます。

assetsの作成

tailwindCSSのbaseなどを読み込むためにassetsを作成します

tailwind.cssは以下のようにします

tailwind.config.jsの修正

tailwind.config.jsのcontentに設定を追加します。

StorybookにpostCSSの設定を追加

まずはpostCSSをStorybookに設定していきましょう。 そのためにアドオンをinstallしましょう。

まずはStorybookのmain.jsを変更していきます。 addonsにpostCSSを追加します

次はpreview.jsを修正していきます。 修正内容は簡単でtailwind.cssをimportするだけです。

以上のことをやったのちnpm run storybook とすることでtailwindCSSがStorybookに適応されていることが確認できました。

tailwindCSSが適応されている

終わりに

今回はNuxt3でStorybookとtailwindCSSを導入してみました。 Nuxt3はTSがしっかりとサポートされており、触っていてとても楽しかったです。
useFetchやserverディレクトリなどの新機能も非常に使い勝手がよく、これからの開発もワクワクしてくるよいフレームワークです。

ぜひみなさんもお試しください

参考

https://github.com/nuxt-community/storybook/issues/330

ニフティでは、
さまざまなプロダクトへ挑戦する
エンジニアを絶賛募集中です!
ご興味のある方は以下の採用サイトより
お気軽にご連絡ください!

ニフティに興味をお持ちの方は
キャリア登録をぜひお願いいたします!

connpassでニフティグループに
参加いただくと
イベントの
お知らせが届きます!