我试图在post之后使用Sass测试贝塞尔三次曲线的实现,但我在使用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
运行值为$x1
的函数,如果我将值更改为整数,则函数可以正常工作且错误没有&# 39; t出现。
我认为它与node-sass对抗ruby sass的方式有关。
This is the codepen如果您想要乱七八糟地看到整个代码。
感谢。
修改 的
这被标记为重复,但相关的问题和答案并不相同,也没有提供任何信息或可能的答案。
这里的问题不是关于未定义的函数,因为正如我所提到的,当值为1时,mixin确实有效。