本文へスキップ
メニュー
テーマ

Fractalでスタイルガイドを作ってみる #2 ― プロジェクトを0から始める方法と最もシンプルなコンポーネントの作成

目次

はじめに

この記事は、前回の記事を見ていることを前提に解説します。まだご覧になっていない方は先に前回の記事をご覧ください。

Fractalでスタイルガイドを作ってみる #1 ― インストールから始め方まで

現時点で、プロジェクトフォルダ配下は以下のような構成になっていると思います。
※node_modulesフォルダ配下は省略します。

テキストテキスト · 4行
fractalTest/ ├─ node_modules/ ├─ package-lock.json └─ package.json

方法2:0からプロジェクトを作成する

プロジェクト構造を設定する

まず、コンポーネントやドキュメントのページを作成するためのディレクトリを作成します。
任意の名前で任意の場所にディレクトリを作成することができます。
今回は各々、「components」と「docs」と命名し、それらをまとめた「src」フォルダをプロジェクトフォルダ配下に作成します。

テキストテキスト · 7行
fractalTest/ ├─ node_modules/ ├─ src/ │  ├─ components/ │  └─ docs/ ├─ package-lock.json └─ package.json

Fractalが認識できないものはすべて無視されますが、ビルドファイルやREADMEなど、好きなものをプロジェクトディレクトリ内に置くことができます。

Fractalインスタンスの作成と設定

次に、Fractalの新しいインスタンスを作成し、プロジェクトの構造やその他の情報をオプションで設定します。
一般に、プロジェクトディレクトリのルートにfractal.config.jsを作成し、そこにオプションの設定を記述します。
以前は設定ファイルの名前はデフォルトでfractal.jsでしたが、v1.3.0でfractal.config.jsに変更されました。

テキストテキスト · 8行
fractalTest/ ├─ node_modules/ ├─ src/ │  ├─ components/ │  └─ docs/ ├─ fractal.config.js ├─ package-lock.json └─ package.json

fractal.config.jsに設定を記述する

fractal.config.jsの必要最低限の設定は次のようなものになります。
特にこだわりがなければ、以下のコードをそのまま使用しても良いでしょう。

fractal.config.jsJavaScript · 13行
'use strict';/* Fractalのインスタンスを作成し、必要に応じて他の場所で使用するためにエクスポートします */const fractal = module.exports = require('@frctl/fractal').create();/* プロジェクトのタイトルを設定します */fractal.set('project.title', 'Component Library');/* コンポーネントの場所を指定します */fractal.components.set('path', __dirname + '/src/components');/* ドキュメントの場所を指定します */fractal.docs.set('path', __dirname + '/src/docs');

Project Settings | Fractal⁠(新しいタブで開く)

コンポーネントを作成する

コンポーネントは1つのビューテンプレートファイルで構成されるシンプルなものから、複雑なものまであります。

ここでは、button.hbsというファイルをcomponentsディレクトリに追加することで、最もシンプルなコンポーネントを作成します。

button.hbsHandlebars · 1行
<a href="" class="button">ボタン</a>

ドキュメントのインデックスページを作成する

次に、ドキュメントディレクトリ(今回は、src/docs)にインデックスページとなるMarkdownファイルindex.mdを追加します。

index.mdMarkdown · 4行
---title: Component Library---**○○株式会社**のWebサイトで使用するコンポーネントライブラリです。

現時点で、プロジェクトフォルダ配下は以下のような構成になっていると思います。
※node_modulesフォルダ配下は省略します。

テキストテキスト · 10行
fractalTest/ ├─ node_modules/ ├─ src/ │  ├─ components/ │  │  └─ button.hbs │  └─ docs/ │     └─ index.md ├─ fractal.config.js ├─ package-lock.json └─ package.json

開発サーバーを起動する

あとは開発用サーバーを起動し、コンポーネントライブラリを見るだけです。

ターミナルを開いて、プロジェクトディレクトリのルートにいることを確認した上で、以下のコマンドを実行します。

ターミナルbash · 1行
fractal start --sync

--syncオプションを使うことで、FractalはBrowserSyncを使ってファイルシステムの変更を監視し、ファイルを更新したときにページをリフレッシュすることができます。

コマンドを実行するとターミナルに以下のようなものが表示されます。
「Local URL」の右側のURLにアクセスすると、コンポーネントライブラリのページを見ることができます。

Fractalのサーバー起動後のターミナル表示。Local URL・Network URL・BrowserSync UIのアドレスが並んでいる
ターミナルにこのように表示される

今回はここまでになります。より複雑なコンポーネントの作り方は、Fractalの公式ドキュメントを参照してください。

Overview | Fractal⁠(新しいタブで開く)

この記事は役に立ちましたか?