投稿に続いて Sass を使用してベジエ 3 次曲線の実装をテストしようとしていますが、node-sass を使用して sass ファイルをコンパイルするとエラーがスローされます。これがエラーです。
{
"formatted": "Error: invalid operands for multiplication\n
on line 192 of public/scss/components/_bezier.scss\n>>
if($x1 == 1, 90deg, 0 - atan(($y1 - 0) / ($x1)) * 1rad),\n ------------------------------------^\n",
"message": "invalid operands for multiplication",
"column": 37,
"line": 192,
"file": "/Users/msantamaria/Documents/dev/presonal_projects/sass-bezier/public/scss/components/_bezier.scss",
"status": 1
}
問題はまさにこの行にあります:
background: linear-gradient(
if($x1 == 1, 90deg, 0 - atan(($y1 - 0) / ($x1)) * 1rad),
//more params...
0.something
少しテストを行うと、 forの値で関数を実行していることがわかりました$x1
。値を整数に変更すると、関数は機能し、エラーは表示されません。node-sass と ruby sass のやり方に関係があると思います。
これは、いじってコード全体を見たい場合のコードペンです。
ありがとう。
編集:
これは重複としてマークされましたが、関連する質問と回答は同じではなく、最初の懸念に対する情報や可能な回答を提供しません.
ここでの問題は、関数が定義されていないことではありません。前述したように、値が 1 の場合は mixin が機能するからです。