免费CDN:jsDelivr+Github 使用方法


CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。——百度百科

放在Github的资源在国内加载速度比较慢,因此需要使用CDN加速来优化网站打开速度,jsDelivr + Github便是免费且好用的CDN,非常适合博客网站使用。


1、新建Github仓库

2、克隆Github仓库到本地

点击 Clone or download,一键复制仓库地址

在本地目录右键 Git Bash Here,执行以下命令:

git clone 一键复制的仓库地址

3、上传资源

复制需要上传的资源到本地git仓库(注:jsDelivr不支持加载超过20M的资源),在本地git仓库目录下右键 Git Bash Here,执行以下命令:

git status                    //查看状态
git add .                     //添加所有文件到暂存区
git commit -m '第一次提交'      //把文件提交到仓库
git push                      //推送至远程仓库

4、发布仓库

点击release发布

自定义发布版本号

5、通过jsDelivr引用资源

使用方法:https://cdn.jsdelivr.net/gh/你的用户名/你的仓库名@发布的版本号/文件路径
例如:

  • https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@1.0/images/trhx.png
  • https://cdn.jsdelivr.net/gh/TRHX/CDN-for-itrhx.com@2.0.1/css/style.css
  • https://cdn.jsdelivr.net/gh/moezx/cdn@3.1.3//The%20Pet%20Girl%20of%20Sakurasou.mp4

注意:版本号不是必需的,是为了区分新旧资源,如果不使用版本号,将会直接引用最新资源,除此之外还可以使用某个范围内的版本,查看所有资源等,具体使用方法如下:

  • // 加载任何Github发布、提交或分支
    https://cdn.jsdelivr.net/gh/user/repo@version/file

  • // 加载 jQuery v3.2.1
    https://cdn.jsdelivr.net/gh/jquery/jquery@3.2.1/dist/jquery.min.js

  • // 使用版本范围而不是特定版本
    https://cdn.jsdelivr.net/gh/jquery/jquery@3.2/dist/jquery.min.js
    https://cdn.jsdelivr.net/gh/jquery/jquery@3/dist/jquery.min.js

  • // 完全省略该版本以获取最新版本
    https://cdn.jsdelivr.net/gh/jquery/jquery/dist/jquery.min.js

  • // 将“.min”添加到任何JS/CSS文件中以获取缩小版本,如果不存在,将为会自动生成
    https://cdn.jsdelivr.net/gh/jquery/jquery@3.2.1/src/core.min.js

  • // 在末尾添加 / 以获取资源目录列表
    https://cdn.jsdelivr.net/gh/jquery/jquery/

  • 33
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论
以下是一个示例代码,可以将文件上传到GitHub使用jsDelivr提供的CDN服务: ```javascript const axios = require('axios'); const FormData = require('form-data'); const owner = '<GITHUB_USERNAME>'; const repo = '<GITHUB_REPO>'; const branch = '<BRANCH_NAME>'; const accessToken = '<GITHUB_ACCESS_TOKEN>'; const filename = '<FILE_NAME>'; const fileContent = '<FILE_CONTENT>'; const apiUrl = `https://api.github.com/repos/${owner}/${repo}/git/trees/${branch}`; const headers = { 'Authorization': `Bearer ${accessToken}`, 'User-Agent': 'MyApp' }; // Create a new blob with file content const blobData = new Blob([fileContent], { type: 'text/plain' }); const formData = new FormData(); formData.append('file', blobData, filename); // Upload file to GitHub using API axios.post(apiUrl, { path: filename, mode: '100644', content: fileContent, }, { headers }) .then(response => { const sha = response.data.sha; const uploadUrl = `https://uploads.github.com/repos/${owner}/${repo}/git/blobs/${sha}`; return axios.post(uploadUrl, formData, { headers: { ...headers, ...formData.getHeaders() } }); }) .then(response => { const fileUrl = `https://cdn.jsdelivr.net/gh/${owner}/${repo}@${branch}/${filename}`; console.log(`File uploaded to GitHub and available at: ${fileUrl}`); }) .catch(error => { console.error(error.message); }); ``` 请注意,您需要替换示例代码中的以下变量: - `<GITHUB_USERNAME>`: 您的GitHub用户名 - `<GITHUB_REPO>`: 存储文件的GitHub仓库名称 - `<BRANCH_NAME>`: 存储文件的GitHub仓库分支名称 - `<GITHUB_ACCESS_TOKEN>`: 您的GitHub访问令牌 - `<FILE_NAME>`: 要上传的文件的名称 - `<FILE_CONTENT>`: 要上传的文件的内容 此代码使用axios库来处理GitHub API请求,并使用FormData类将文件上传到GitHub。然后,它将使用jsDelivr提供的CDN服务来访问上传的文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT.BOB

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值