本記事では、SCSS→CSSに変換(コンパイル)する時に「required parameters must precede optional parameters」のエラーが出力された時の原因と対処法について解説しています。
HTML/CSSの学習におすすめ書籍
1冊ですべて身につくHTML&CSSとWebデザイン入門講座
メリット
- HTMLとCSSの基本が体系的に学べる
- Webデザインの基本が学べる
- 1つのWebサイトを作りながら学べる
ポチップ
先輩くん
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
全プログラマー必見!
変数名/関数名にもう悩まない!
変数名/関数名にもう悩まない!
リーダブルコード
メリット
- 美しいコードが書けるが自然と書けるようになる
- 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次
原因と対処法
このエラーは、@functionや@mixinなどの引数の順番によって引き起ります。
例えば、以下のような関数は同様のエラーを出力します。
@function example($val1:10, $val2) {
@return $val1 * $val2;
}
SCSSの引数で初期値を設定しているものがある場合、それよりも前に初期値を設定していない引数を記述する必要があります。
先ほどの関数をエラーが出力されないように書き換えると以下のようになります。
@function example($val2, $val1: 10) {
@return $val1 * $val2;
}