16
20

More than 5 years have passed since last update.

Sass(Node-sass)の環境構築を行ってみる

Last updated at Posted at 2019-04-10

1. Sass概要

SassはCSSプリプロセッサで
Sass記法とScss記法(Sassy CSS)があります。
現在の主流はScssです。

CSSからScssへ移行した際のメリットは
1. 記述の簡略化(入れ子構造)
2. 専用のコメント(CSSなのに1行コメント等)
3. 変数を使用して、同じ値を使い回せる
4. extendを使用して、セレクタを使いまわせる
5. mixinを使用して、スタイルをまとめ使いまわせる
6. Partialを使い、複数のSassを1つのCSSにまとめることができる
7. 条件分岐や繰り返し処理がCSSなのに可能に
8. CSSへコンパイルする際は圧縮できる
9. 様々なフレームワークの基礎となっている

ということで、Sassを導入してみました。

2.2つのSassについて

Sassには、大きく分けて
 ・node-sass(LibSass)
 ・Ruby Sass  
があります。

Ruby Sassは、Rubyで開発されたSassですが
node-sassは、C/C++で開発されたSassです。

そのため、node-sassは
Node.js以外(PHP,Phython,Scala)でも使用可能です。
一番大きなメリットはRuby sassよりも圧倒的に早いことです。

というわけで今回は
mac環境でnode-sassの環境構築をしていきます。

3.Node.jsのインストール

まずは、Node.jsをダウンロードしていきましょう。

https://nodejs.org/ja/
特に理由がなければ、左側の推奨版で構いません。

解凍次第、
ターミナル(黒い画面)にいき、

node -v

と打つことで
node.jsのバージョンを確認することができます。
(これでちゃんとインストールできたかを確認することができます。)

4.gulpのインストール

このgulpは、タスクランナーソフトで、
様々な処理を自動化する役割です。

Sassを使用する場合、最終的にはCSSにコンパイルする必要があるため
タスクランナーを使い自動化させています。

4-1.gulp-cilのインストール

gulpのインストールには
Node.jsのパッケージ管理マネージャであるnpmを使用していきます。

nmp install --global gulp-cil

これで、グローバルにインストールできましたので、
インストールしたマシンのどのディレクトリでも
gulpコマンドを使用することができるようになりました。

gulp -v

を使用して、インストールできているか
確認しておきましょう。

※---------------------------------------------------
自分の場合は最初に
「permission denied」というエラー(要は権限不足)が出たので

chmod 777 5_sass_test.txt

として回避しました。
permission deniedで悩まされたので勉強してみた
※---------------------------------------------------

4-2. package.jsonの作成

これで、package.jsonが作成されます。

npm init -y;

4-3. gulpのインストール

次にgulpとgulp-sassをインストールしていきます。

npm install --save-dev gulp

実行し、成功するとこのように
「package.json」が作成されます。

スクリーンショット 2019-04-10 13.24.20.png

4-4. gulp-sassのインストール

これだけでは自動更新されないため
gulp-sassも追加

npm install --save-dev gulp-sass

4-5. gulpfile.jsの作成

ここまでで自動化を行う下地ができたので、
次にjavascriptファイルに、自動化の内容を書き込んでいきます。

が、基本的にはコピペで大丈夫です。

gulupfile.jsは下記サイトからもってきましょう
https://www.npmjs.com/package/gulp-sass

色々なバージョンがありますが、
一番基本的なこいつ(下記)をgulpfile.jsとして手動で作成

gulpfile.js

'use strict';

var gulp = require('gulp');
var sass = require('gulp-sass');

sass.compiler = require('node-sass');

gulp.task('sass', function () {
  return gulp.src('./sass/**/*.scss')
    .pipe(sass().on('error', sass.logError))
    .pipe(gulp.dest('./css'));
});

gulp.task('sass:watch', function () {
  gulp.watch('./sass/**/*.scss', ['sass']);
});

これで終了です。
お疲れ様でした。

同じ環境を構築したい場合

もし同じ環境を構築したい場合は,

4-1.gulp-cilのインストール

nmp install --global gulp-cil

の後に、今回作成したpackage.jsonがある状態で

npm install

と行うだけで、全てのパッケージがインストールされます。

同じ環境を作成するにはpackage.jsonが重要ということですね。

16
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
20