使用node-sass在SCSS中进行乘法的操作数无效

时间:2016-02-24 16:09:45

标签: node.js sass node-sass

我试图在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确实有效。

0 个答案:

没有答案