利用jsdelivr创建免费的CDN

原文地址: 利用jsdelivr创建免费的CDN

jsDelivr

首先对于cdn相信大家都不会陌生,国内外也有不少云服务提供付费的cdn服务,但对于我们这些开发者而言确实是有些不划算,所以今天就给大家介绍使用jsDelivr来构建我们的cdn

jsDelivr是一个免费、开放原始码的公有 CDN 服务,托管了许多大大小小的 JavaScript、CSS 等 libraries,它将重心放在更快速的网路连线,利用 CDN 技术来确保每个地区的使用者都能获得最好的连线速度,依据 jsDelivr 的官网说明,它们也是首个「打通中国大陆与海外的免费 CDN 服务」,网页开发者无须担心GFW问题而影响连线

使用

jsDelivr提供npm,GitHub,WordPress等诸多开源镜像,我们就已我们最为熟悉的GitHub来说明如何构建我们的CDN

https://imagebed-1252410096.cos.ap-nanjing.myqcloud.com/2053/fe51028d275b42b1a64349975a79a44d.png

首先我们需要在Github(传送门)申请账号,不过我相信大部分人都已有了Github账号,没有的直接去Github上申请一个即可

在Github上创建一个公开的仓库

https://imagebed-1252410096.cos.ap-nanjing.myqcloud.com/2053/9f4498f9a583436cb2b17664b750e48e.png

按照提示将本地仓库与远程仓库关联,做这一步是为了方便我们直接使用git命令上传代码,不然得在Github点击上传然后手动选择文件

https://imagebed-1252410096.cos.ap-nanjing.myqcloud.com/2053/0baee650d61e4bb98eec0d0a0ae8d9cf.png

https://imagebed-1252410096.cos.ap-nanjing.myqcloud.com/2053/c188181047eb48d3b9ca743b42d6964d.png

我们在本地仓库创建css文件夹,在css夹下创建名为style.css的文件,内容如下(内容无任何意思,只为演示):

#setting-selector {
    padding: 10px;
    background-color: #fff;
    border-radius: 10px;
    text-align: center;
}
#setting-selector ul li a.current {
    font-weight: 900;
    color: #FE445C;
}

#setting-selector ul li a:hover {
    background-color: #F2F6FB;
}

#custom-fields .custom-item p {
    padding: 10px;
    background-color: #F5F5F5;
    color: #797979;
    font-size: 12px;
    width: 80%;
    border-radius: 5px;
}

#custom-fields .custom-item .custom-desc {
    margin-left: 100px;
}

我们继续创建js文件夹,在js文件夹下创建名为script.js的文件,内容如下(内容无任何意思,只为演示):

$(function () {
        $(window).scroll(function () {
            //滚动高度
            let scTop = $(window).scrollTop()
            //屏幕高度
            let height = $(window).height()
            if (scTop >= height * 0.5) {
                //利用jquery动画组件显示
                $("#top-btn").stop().animate({'opacity': '1'}, 500)
            } else {
                $("#top-btn").stop().animate({'opacity': '0'}, 500)
            }
        })
        $("#top-btn").on('click', function () {
            $('body,html').stop().animate({
                scrollTop: 0
            })
        })

        let rightItem = $("#right-tool-bar .right-tool-item");

        function hidenRight(animate) {
            for (let i = 0; i < rightItem.length; i++) {
                console.log(rightItem[i])
                let item = $(rightItem[i]);
                if (animate)
                    item.animate({marginLeft: 0}, 50)
                else
                    item.css('margin-left', 0)
            }
        }

        $("#right-color .set-color-btn").on('click', function () {
            $.ajax({
                url: "/?freeAction=color&colorName=" + $(this).data('color'),
                type: 'post',
                dataType: 'json',
                success: res => {
                    if (res['success']) {
                        layer.msg('更换配色成功', {icon: 1, time: 500}, function () {
                            location.reload();
                        })
                    }
                }
            })
        })
    }
)

此时我们的目录结构应该是这样的

.
|____css
| |____style.css
|____js
| |____script.js

接下来使用如下命令提交并上传到Github

git add -A
git commit -m "cdn测试"
git push origin master

如果遇到如下情况则需要将ssh的公钥上传至Github

https://imagebed-1252410096.cos.ap-nanjing.myqcloud.com/2053/b61137b7b3b14aceb366900fbe7f7405.png

此时我们的Github中已经有我们刚刚创建的代码了,然后点击create a new releases创建一个新的release

https://imagebed-1252410096.cos.ap-nanjing.myqcloud.com/2053/8afc2c90440a443fa828863f41ed6b62.png

填写对应的信息,然后点发布

https://imagebed-1252410096.cos.ap-nanjing.myqcloud.com/2053/95f29805db044e1bac72c2fb90ab9c8a.png

可以看到我们已经发布成功了

https://imagebed-1252410096.cos.ap-nanjing.myqcloud.com/2053/1bf11f797667431c9ef06ba3c8881bc2.png

此时我们可以通过如下url访问我们的文件

https://cdn.jsdelivr.net/gh/github用户名/仓库名@版本号/文件路径

如:https://cdn.jsdelivr.net/gh/kevinlu98/cdntest@1.0/css/style.css,可以看到我们的cdn已经创建好了

https://imagebed-1252410096.cos.ap-nanjing.myqcloud.com/2053/1647dd7aba95466abe9bca772e4e12fd.png

不仅如此,我们还可以访问压缩版的,如:https://cdn.jsdelivr.net/gh/kevinlu98/cdntest@1.0/css/style.min.css,jsDelivr会自动帮我们压缩

https://imagebed-1252410096.cos.ap-nanjing.myqcloud.com/2053/ad8ecfa126924bf4aa873bfe1d4648f4.png

结束

大家有需要的话快去试试吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值