ShopifyにオリジナルSass設計を導入する

#概要
去年から続いてる新型コロナウイルスの影響で、ECサイトをオープンする企業も増える中、越境ECサイトを簡単に作成できる、Shopifyの需要も高まりつつあります。
また、制作側としても、htmlやcss、javascriptなどのコードの編集も出来るため、より自由度の高いECサイトを制作することができます。

ShopifyでのECサイトの開発をはじめたばかりの方は、まず何を触ったらいいのかもわからないし、管理画面での作業に苦戦されているんじゃないでしょうか。
また、慣れ親しんだSassや、オリジナルのファイル設計を使えればどんなに楽かと思われている方も多いんじゃないでしょうか？

今回は上記課題を解決するための記事となります。

#この記事で伝えたいこと
Shopifyの管理画面内でも、コードを編集するテーマ開発は可能ですが、いつもと違う環境のため、普段使っているショートカットが使えない、コードが整形されない、Sassって使えないの？など、様々な課題があり、作業効率がとても悪くなると思います。
今回はその中の課題の一つである、Sassの導入とファイル設計の方法にスポットを当てて記事にしてみました。

内容は以下となります。

+ ShopifyにSassを導入する
+ ShopifyでSassのファイル設計を行う

#前提条件
+ テキストエディターはvscodeを使用します。Shopifyのテーマ開発は、アプリを使えば、vscodeで制作できるようになります。これも重要なことですが、良い記事がすでに多くありますので、今回は省かせて頂きます。vscodeでの制作方法に関しては、以下記事がわかりやすかったので、参考にして設定頂ければと思います。

https://qiita.com/eijiSaito/items/a785e707afd1b4304432

+ ファイル設計はcss設計をPRECSSにすると仮定してます。

https://precss.io/ja/

#ShopifyにSassを導入する
###1.Sassをコンパイルさせる準備をする
vscodeの拡張機能である「**[Live Sass Compiler](https://marketplace.visualstudio.com/items?itemName=ritwickdey.live-sass "Live Sass Compiler")**」をインストールします。
「**[Live Sass Compiler](https://marketplace.visualstudio.com/items?itemName=ritwickdey.live-sass "Live Sass Compiler")**」は、Sassファイルを監視して自動でコンパイルしてくれるため、特に、gulpなどのタスクランナーを導入しなくてもよいです。
ShopifyでSassを扱うにおいては、この拡張機能で十分かと思います。
vscodeの下メニューに追加されている**「Watch Sass」**をクリックすれば、Sassファイルの監視がはじまり、自動コンパイルされます。

###2.Sassファイルを作成する
Shopifyのassetsディレクトリ内には、テーマ固有のcssやjavascriptが格納されているので、ここに、Sassファイルを作成します。
今回作成するファイルは、`index.scss`としています。
![スクリーンショット 2021-12-07 14.22.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/905389/d7abde38-4e78-c2c1-0f85-d11149e95ec5.png)

###3.コンパイルして、cssファイルを出力する
**「Watch Sass」**をクリックすると、添付画像の通り、ちゃんとコンパイルされ、`index.css`ファイルが出力されていることがわかります。
以降は「**[Live Sass Compiler](https://marketplace.visualstudio.com/items?itemName=ritwickdey.live-sass "Live Sass Compiler")**」が監視し続けてくれるため、コードを保存するたびに、コンパイルされます。
![スクリーンショット 2021-12-07 14.52.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/905389/fc9a3532-4918-9e04-ee21-fd268cf1973c.png)
あとは、該当ページに、`index.css`を読み込む記述をすれば、Sassの導入に成功です。

``` theme.liquid
<link rel="preload" href="{{ 'index.css' | asset_url }}" as="style">
```

#ShopifyでSassのファイル設計を行う
前提条件の通り、PRECSSの基本設計に従い、ファイル設計をします。
特に難しいことはせず、いつもどおりvscode上の該当箇所に必要なディレクトリとファイルを追加していくだけです。

:::note warn
ディレクトリの追加に関して、実はShopifyの管理画面ではできません。
vscodeに環境を移すことによって、この方法は実現できるようになります。
そのため、追加したディレクトリ内のファイルは、Shopify内には反映されないので、全てassets配下のscssファイルにimportして出力するようにお願いします。
:::

今回はassets内に以下のようにファイル設計を作成しています。
scssファイルに関しては、仮で、block配下に、`_card.scss`、element配下に、`_btn.scss`を作成し、assets配下に置いてある先ほど作成した、`index.scss`に、importさせようと思います。
> assets/
　├ index.scss
　├ _modules/
　 　└ block/
　　　　└ _card.scss
　 　└ element/
　　　　└ _btn.scss

それぞれのファイルには、以下のように記述しています。

``` _card.scss
.bl_card {
  display: block;
}
```
``` _btn.scss
.el_btn {
  font-size: 16px;
}
```
``` index.scss
@import "_modules/block/card";
@import "_modules/element/btn";
```

「**[Live Sass Compiler](https://marketplace.visualstudio.com/items?itemName=ritwickdey.live-sass "Live Sass Compiler")**」が動いているので、`index.css`を確認してみると、ちゃんとコンパイルされ、正しい結果になっているかと思います。
![スクリーンショット 2021-12-09 17.20.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/905389/72f79b1e-fe0f-8018-1846-dd7dc3427384.png)

あとはこの方法を参考に好きなように、ファイル設計をしていくだけです！

#最後に
記事を見返してみると、すごく当たり前のことを書いている気がしてきました。
ただ、Shopifyの管理画面では記事の方法ではできなかったり、Shopifyを初めて扱う方だと、そもそもSassが使えるのか？など、意外とつまずきポイントがいくつかあります。

自分の制作環境、設計でさえ、開発ができれば、より効率よく自由なECサイトを作ることができます。
同じことで困っている方の一助になれば幸いです。

最後まで読んで頂きありがとうございました。