Sassの実装を行う上で便利な@debugと@warn、@errorについてそれぞれ試してみます。
サンプルコード
テスト用の関数を作成して、その中で@debug・@warn・@errorをそれぞれ使ってみます。
@function testFunc($number) { @debug $number; @debug unitless($number); @if unitless($number) { @warn "単位なし"; } @else { @error "単位あり"; } @return $number; }
引数の値が単位なしの場合は@warn、単位ありの場合は@errorを使用するようにしています。
単位なしの状態で設定して、@debugと@warnを試してみます。
.test { width: testFunc(100); }
コンパイルを実行すると、ターミナルに以下のように出力されました。
src/css/style.scss:2 Debug: 100 src/css/style.scss:3 Debug: true Warning: 単位なし
@debugは開発中に変数や式などの値を確認することができ、1〜2行目のような出力になります。
@warnはmixinや関数作成時に推奨しない引数を渡した時など、何らかの警告を出したい際に使用します。
出力するメッセージは独自で設定できます。
次に単位ありで@errorを試してみます。
.test { width: testFunc(100px); }
コンパイルの実行途中でエラーになり、ターミナルに以下のように出力されました。
Error: "単位あり" 15 width: testFunc(100px);
@warnは@errorと近いですが、@warnはコンパイルが止まらないで警告を出すのに対して、@errorはコンパイルを途中で止めてエラーを出すようになります。
@errorは関数に意図しない引数を渡された時など、コンパイルを中断させたい場合に設定しておくとよさそうです。
コメントが承認されるまで時間がかかります。