在我的ubuntu服务器上编译时,我在sass中遇到random()
函数的一些问题。
目前它在本地工作正常但是如果我在我的ubuntu框gulp-sass
上运行gulp任务,输出只生成一次。
这是sass:
@function multipleBoxShadow($stars, $opacity) {
$value: '#{random(2000)}px #{random(2000)}px rgba(255, 255, 255, #{$opacity})';
@for $i from 2 through $stars {
$value: '#{$value} , #{random(2000)}px #{random(2000)}px rgba(255, 255, 255, #{$opacity})'
}
@return unquote($value)
}
@mixin starBase($speed, $size, $amount, $opacity) {
box-shadow: multipleBoxShadow($amount, $opacity);
animation: animStar $speed linear infinite;
}
#stars {
@include starBase(50s, 1px, 700, 1);
}
这是使用gulp-sass时ubuntu框中的输出:
#stars {
animation: animStar 100s linear infinite;
box-shadow: 321px 321px rgba(255, 255, 255, 1) , 321px 321px rgba(255, 255, 255, 1) , 321px 321px rgba(255, 255, 255, 1) etc etc....
}
正如您所看到的那样,它只生成一次随机数并对所有重复使用相同的值,这与我的本地机器不同,每次输出都是随机的。
如果我尝试在grunt sass sass/default.css style/default.css
之外使用sass编译器,那么random()将完全失败:
#stars {
animation: animStar 100s linear infinite;
box-shadow: random(2000)px random(2000)px rgba(255, 255, 255, 1) , random(2000)px random(2000)px rgba(255, 255, 255, 1) etc etc....
}
我需要在我的ubuntu盒子上安装一些随机()来正确编译吗?我一直认为它是萨斯本土的。
这是一个演示正确编译的SassMeister: http://sassmeister.com/gist/165fe1dcc831220c8717
答案 0 :(得分:0)
原来我在我的服务器上安装了错误版本的sass,可能应该先检查一下。它现在可以使用sass编译器,sass-gulp
仍然只生成random()一次