使用sass random 函数随机分配cdn hostname

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用sass random 函数随机分配cdn hostname相关的知识,希望对你有一定的参考价值。

在线上环境中, 经常会有多个cdn 地址来加速静态资源的加载, 对于模板文件中的js, css, img 都可以通过后端的helper方法在render时分配,

但是在css 中也会有url地址, 比如 font-face, background-image: url(), 这里的信息是静态的, 所以需要在scss文件转换的时候做处理。

 

这里的前提是cdn域名列表内容比较固定, 不会经常变更。

 

sampleCDN内容很简单, 每次随机一个地址。

 

@function sampleCDN() {
    $cdn: ‘http://cdn1.com‘, ‘http://cdn2.com‘, ‘http://cdn3.com‘;
    $nth: nth($cdn, random(length($cdn)));
    @return $nth
}

.img-a {
    background-image: url(‘#{sampleCDN()}/hello.png‘);
}
.img-b {
    background-image: url(‘#{sampleCDN()}/hello.png‘);
}
.img-c {
    background-image: url(‘#{sampleCDN()}/hello.png‘);
}
.img-d {
    background-image: url(‘#{sampleCDN()}/hello.png‘);
}
.img-e {
    background-image: url(‘#{sampleCDN()}/hello.png‘);
}

 

输出:

.img-a {
  background-image: url("http://cdn2.com/hello.png"); }

.img-b {
  background-image: url("http://cdn2.com/hello.png"); }

.img-c {
  background-image: url("http://cdn3.com/hello.png"); }

.img-d {
  background-image: url("http://cdn3.com/hello.png"); }

.img-e {
  background-image: url("http://cdn1.com/hello.png"); }

  

以上是关于使用sass random 函数随机分配cdn hostname的主要内容,如果未能解决你的问题,请参考以下文章

C语言中随机函数每次调用的随机序列是不是一样?

2. 猜数字(字符串)游戏: 程序功能要求:利用随机函数random()生成1---n之间的一个整数,输入数字猜该数

小白学习C++ 教程十九C++ 中的<cmath> 数学函数和 <random>随机数

js生成随机数之random函数随机示例

python基础2:随机数生成—random模块、numpy中的random函数

026 模块3-random库的使用