Dart Sass × FLOCSS コーディング用のgulpキットを作成しました
世間ではTailwind CSS が盛り上がっていますが、何やかんやWEBサイト構築とかではSassがまだまだ現役な印象。
とはいえ、SassはSassでも一番浸透しているLib Sassはサポートが終了するとのこと…。
今後Sassを使うのはDart Sassで書けとのことですが、問題はコンパイル事情。
VisualStudioCodeのプラグインでいい感じにコンパイルしてくれるやつがないので、gulpとかwebpackとか使う必要があります。
そこで、今回はDart Sassでコーディングできるgulpファイルをつくったので、そのまとめ記事を書いていきますー!
Dart Sass × FLOCSSのgulpセットをつくってみた
Sassの書き方の主流であるDart Sass。
CSS設計の主流であるFLOCSS。
FLOCSSのCSS設計で、Dart Sassのコーディングができるgulpファイルのスターターキット的なものをつくってみました。
GitHubは以下です。
ざっくり言うと、Node.jsとnpmの入ったパソコンで、npm install
を打って npx gulp
を打ったら使えるようになります。
技術的な構成
構成としては、以下のようなディレクトリになっています。
docs
│ index.html
│
└─asset
├─css
├─img
└─js
src
│ index.ejs
│ └─_component
│ _head.ejs
│ _header.ejs
│ _footer.ejs
│
└─asset
├─img
├─js
└─sass
│ style.scss
│
├─foundation
│ _base.scss
│ _reset.scss
│ _system.scss
│
├─layout
│ _footer.scss
│ _header.scss
│
└─object
├─component
│ _loading.scss
│ _section.scss
│
├─project
│ _contact.scss
│
└─utility
_display.scss
src
内でコーディングしてdocs
にコンパイルしたファイルを出力させる構成にしています。
gulpの機能
gulpfileに書いている機能としては大体以下の5つの機能。
- Dart Sass のコンパイル
- CSS の縮小化
- EJS のコンパイル
- EJSコンパイル後のHTML整形
- JavaScript の縮小化
- ローカルサーバーの立ち上げ
- 作業ファイルの監視(自動更新)
この機能便利だよ!というのがあればディスカッション等で言ってもらえると幸いです。
ファイル構成
各ファイルの役割についてざっくり紹介します。
多分、一般的なgulpファイルと同じような役割かと思います。
gulpfile.js
上述した gulp の機能を記載しているファイルです。
docs
コンパイル後の HTML や CSS(納品・デプロイするフォルダ)
github pages の公開ディレクトリで docs を選択すると通常通り公開することも可能です。
src
コーディング用の EJS や SCSS ファイル。一応、HTMLでコーディングしてもコンパイルされます。
git clone
をしたらほとんどここしか触らないかなと思います。ゴリゴリコーディングしていくフォルダですね。
src/index.ejs
EJSファイル。ほぼHTMLです。HTMLのなかでJavaScriptとかPHPっぽい機能が使えて便利なので搭載しました。
普通にindex.html
でコーディングしても普通にそのままHTMLに変換されるので、EJSに不慣れな方はHTMLでコーディングすることもできます。
src/asset/sass
Sass のコーディングファイル。CSS 設計は FLOCSS を採用しています。
Sass 自体は Dart Sass でコーディングして、sass フォルダ直下の style.scss ですべての Sass ファイルを@use
しています。
Sass の構成一覧は以下のような感じです。
sass
│ style.scss
│
├─foundation
│ _base.scss
│ _reset.scss
│ _system.scss
│
├─layout
│ _footer.scss
│ _header.scss
│
└─object
├─component
│ _loading.scss
│ _section.scss
│
├─project
│ _contact.scss
│
└─utility
_display.scss
使い方
前提条件
前提として node.js と npm がインストールされているものとします。
実際に使う流れ
前提条件が整っていれば、以下のような流れで進めます。
-
git clone https://github.com/traveler20/gulp-starter.git
を実行 - コーディングしたいファイルに
cd
コマンドで移動。 -
npm install
を実行 -
npx gulp
を実行 -
src
内でコーディング -
docs
内のファイルを納品・デプロイ
まずは、gitをcloneします。
git clone https://github.com/traveler20/gulp-starter.git
ファイルが生成されるので、cd
で移動して、npm install
で node_module
など必要なファイルをインストールしましょう。
cd gulp-starter
npm install
そのまま、 npx gulp
を実行すれば、Dart Sassがコンパイルされ「コンパイルが成功されました」と表記されて、http://localhost:3000/
が自動的にローカルサーバーが立ち上がるかと思います。
npx gulp
そのままコーディングしたら随時反映されるようになるので、src
でコーディングしていきましょう。
コーディングが終われば、docs
ファイルに必要なHTML,CSS,JavaScript,画像ファイルが出来上がっているかと思うので、こちらを納品、もしくはデプロイしていけばOKです。
GitHub Pagesの場合、デプロイする場所を docs
を選択すればそのまま公開できます。
最後に
しばらくSassのコーディングをする際は、この構成でWEBサイトのコーディングをしていこうかなと思います。
もっとこういうやり方がいいよ!というのがあればお気軽にディスカッションでのコメントを待ってますー!
それでは。
Discussion