less4.0 除法报错 SyntaxError: Error evaluating function `round`: argument must be a number

22-01-14 15:36 字数 477 阅读 3207 已编辑

我的代码是这样的

.h(@vh) {
    height: round(@vh / @width*1rpx, 2);
}

以前是可以正常编译的,但是升级4.0之后,webstorm编译报错:

SyntaxError: Error evaluating function `round`: argument must be a number

这是因为less4.0之后,除法运算符如果在括号外面,不执行除法运算, 如果在小括号内可以看做是除法运算, 或者 使用 ./ 强制做除法运算。官方文档 https://github.com/less/less.js/releases/tag/v4.0.0

所以报这个错的时候,要么改成这样的

.h(@vh) {
    height: round((@vh / @width*1rpx), 2);
}

但是这样改动的代码太多了,所以可以使用--math参数

所以可以在 webstorm 的 File Wactchers 里的 arguments 里增加一个参数 --math=always,这样就能正常编译了。

0人点赞>
关注 收藏 改进 举报
0 条评论
排序方式 时间 投票
快来抢占一楼吧
请登录后发表评论
站长 @ 十七度
文章
384
粉丝
23
喜欢
195
收藏
31
排名 : 1
访问 : 145.88万
私信