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

本文介绍了一种在SCSS文件中使用随机CDN地址的方法,通过定义一个sampleCDN函数来实现不同背景图片URL地址的随机加载,以此提高网页加载速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在线上环境中, 经常会有多个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"); }

  

转载于:https://www.cnblogs.com/tangkikodo/p/6839300.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值