0

我正在尝试使用 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.somethingfor的函数$x1,如果我将值更改为整数,则函数可以工作并且错误不会出现。我认为这与 node-sass 与 ruby​​ sass 的方式有关。

如果您想弄乱并查看整个代码,这就是它的代码笔。

谢谢。

编辑:

这被标记为重复,但相关的问题和答案并不相同,并且不提供任何信息或可能的答案来解决我最初的担忧。

这里的问题不在于未定义函数,因为正如我所提到的,当值为 1 时,mixin 确实有效。

4

0 回答 0