http://zxniuniu.github.io/demos/jspdf/fontconverter/fontconverter.html
上面的链接为 https://cdn.jsdelivr.net/gh/zxniuniu/demos/jspdf/fontconverter/fontconverter.html
,但这并不意味着 jsdelivr 只有这一种引用方式。上面的引用方式为直接引用,当然还有按分支及版本号引用等。
这种方式也就是上面的方式,格式为:https://cdn.jsdelivr.net/gh/<用户名>/<仓库名>/<文件及路径>
例如:https://cdn.jsdelivr.net/gh/zxniuniu/demos/jspdf/fontconverter/fontconverter.html
代表用户名 zxniuniu
下的 demos
仓库中文件夹 jspdf/fontconverter/
里的 fontconverter.html
文件。
分支及版本号
分支与版本号加到仓库后变,用 @
符链接。格式为:https://cdn.jsdelivr.net/gh/<用户名>/<仓库名>@[分支/版本号]/<文件及路径>
。
使用版本号引用的优点在于:这个链接仅停留在发布版本号的时刻,无论仓库如何变化,这个版本号的文件都不会受到影响。同时可以避免 jsdelivr 缓存问题。
关于缓存问题
这个问题跟迷一样,根据实测不仅与分支有关系而且与文件名有关系。文件名为 *.min.*
或者是 *.*
,也就是带 min
的和不带 min
的。这里我以 index.min.css
和 index.css
为例。
先来看看 index.css
能否及时更新
文件是否有限制
GitHub 公开仓库大小为 100G,并且可以创建无数个仓库哦!但仓库超过 1G 后会有人工审核仓库内容,如果发现用来做图床 ~~~😏,轻则删库,重则封号。因此为了安全建议在 1G 之前就换个仓库,反正可以创建无数个仓库嘛。
Github 单文件上传限制为 100M,但是 jsdelivr 加速的单文件大小为 50M,因此也就意味着要加速的单文件大小限制为 50M。
文件类型方面,基本的图片、视频、静态文件等都可以。
查看仓库文件
查看仓库文件有大小限制,因此当仓库文件大于 50M 时,就无法通过 jsdelivr 查看了,只能在 GitHub 仓库查看。jsdelivr 查看仓库文件有两种方式:
查看仓库版本号
格式:https://www.jsdelivr.com/package/gh/
+ 用户名 +/
+ 仓库名
例如:https://www.jsdelivr.com/package/gh/zxniuniu/demos
查看仓库文件
格式 https://cdn.jsdelivr.net/gh/
+ 用户名 +/
+ 仓库名 +/
仓库名 [@ 分支]
例如 仓库名@master
,默认为 master 分支,https://cdn.jsdelivr.net/gh/zxniuniu/demos@master/
jsDelivr API
API 地址如下:https://data.jsdelivr.com/v1
/package/npm/:name 或 /package/gh/:user/:repo
https://data.jsdelivr.com/v1/package/gh/zxniuniu/demos
// => {
"tags": [],
"versions": [
"1.0.0"
/package/npm/:name@:version/:structure? 或 /package/gh/:user/:repo@:version/:structure?
// 其中:structure: tree or flat; 默认值为tree
https://data.jsdelivr.com/v1/package/gh/zxniuniu/demos@1.0.0
"default": null,
"files": [
"type": "directory",
"name": "jspdf",
"files": [
"type": "directory",
"name": "fontconverter",
"files": [
"type": "file",
"name": "fontconverter.html",
"hash": "GQY2zOPzMHl5LBQPGngKPiIFnQcTlGRAWymjCawb88o=",
"time": "2020-11-30T15:00:21.000Z",
"size": 3924
"type": "file",
"name": "jspdf-chinese-export.html",
"hash": "QrrKYVre6pPmR2H0IctW5ydJ7i477WjgYeHrFDOaZvI=",
"time": "2020-11-30T15:00:21.000Z",
"size": 4446
查看版本范围
/package/resolve/npm/:name@:range 或 /package/resolve/gh/:user/:repo@:range
https://data.jsdelivr.com/v1/package/resolve/gh/zxniuniu/demos@1
// =>{
"version": "1.0.0"
使用情况统计
/package/npm/:name/stats/:groupBy?/:period? 或 /package/gh/:user/:repo/stats/:groupBy?/:period?
// groupBy可用值:version or date,默认为version
// period可用值: day or week or month or year,默认值month
https://data.jsdelivr.com/v1/package/gh/zxniuniu/demos/stats
// =>{
"rank": null,
"total": 0,
"versions": {},
"commits": {}
清理 jsdelivr 缓存
把链接地址中的 cdn 换成 purge 即可清除指定文件的缓存,但经过测试,这个方法也是有时候好用有时候不好用。如清理 zxniuniu/demos/jspdf/fontconverter/fontconverter.html
文件缓存:
https://purge.jsdelivr.net/gh/zxniuniu/demos/jspdf/fontconverter/fontconverter.html
// => {
"fastly": [
"status": "ok",
"id": "20777-1607803511-297900"
"status": "ok",
"id": "20774-1607805727-283092"
"maxcdn": {
"code": 200
"cloudflare": true,
"quantil": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<response><message>success</message></response>"
优雅使用 JsDeliver 加速文件
一个帮你实时刷新 jsdelivr CDN 缓存的小工具
解决 jsdelivr 缓存问题的几个办法
GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。