SCSS

required parameters must precede optional parametersの原因と対処法

本記事では、SCSS→CSSに変換(コンパイル)する時に「required parameters must precede optional parameters」のエラーが出力された時の原因と対処法について解説しています。

HTML/CSSの学習におすすめ参考書
1冊ですべて身につくHTML&CSSとWebデザイン入門講座

本書情報
著者Mana
発売日2019/3/16
ページ数280ページ
Kindle版
レビュー
(Amazon)
(2,167件)
先輩くん
先輩くん
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
後輩ちゃん
後輩ちゃん
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!

綺麗なコードが書けるようになる!
リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック

本書情報
出版社オライリージャパン
著者Dustin Boswell / Trevor Foucher
発売日2012/6/23
ページ数260ページ
レビュー
(Amazon)
(620件)
先輩くん
先輩くん
より良いコードを書きたい人におすすめの本だよ!
後輩ちゃん
後輩ちゃん
10以上前の書籍ですが、内容は今でも役に立つものばかりです!

原因と対処法

このエラーは、@function@mixinなどの引数の順番によって引き起ります。

例えば、以下のような関数は同様のエラーを出力します。

@function example($val1:10, $val2) {
  @return $val1 * $val2;
}

SCSSの引数で初期値を設定しているものがある場合、それよりも前に初期値を設定していない引数を記述する必要があります。

先ほどの関数をエラーが出力されないように書き換えると以下のようになります。

@function example($val2, $val1: 10) {
  @return $val1 * $val2;
}

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村