jsDelivr 简介

jsDelivr 简介

官网 jsDelivr是一个提供含JavaScript库、jQuery插件、CSS框架、字体等Web上经常使用静态资源的服务,采用全球CDN加速,确保每一个地区的使用者都能得到最好的链接速度,大陆地区使用国内CDN加速jsDelivr可将不一样的JavaScript或CSS库集合在一块儿使用,jsDelivr提供包扣npm、ESM、GitHub、WordPress等项目的镜像服务。最重要的是jsDelivr在国内使用的是网宿的CDN节点延迟低。jsDelivr 将重心放在更快速的网路连线,利用 CDN 技术来确保每个地区的使用者都能获得最好的连线速度。 用户在访问网站的同时,只是从用户服务器加载少量动态资源,大量静态资源全部通过jsDelivr的CDN进行加载,这样既能减少服务器的请求,也能减少用户服务器CDN流量的使用,这样可以有效的优化私有服务器的资源加载速度、带宽等问题。

jsDelivr 工作原理

jsDelivr加速域名如下

cdn.jsdelivr.net: 意大利、韩国、泛播Cloudflare fastly.jsdelivr.net: 中国香港、日本东京、泛播 Fastly gcore.jsdelivr.net :德国Gcore jsdelivr.codeqihan.com :个人镜像,泛播 Cloudflare test1.jsdelivr.net testingcf.jsdelivr.net :泛播 Cloudflare

cdn.jsdelivr.net 2023/06/21 域名解析结果

地址ip泛播 Cloudflare104.16.85.20泛播 Cloudflare104.16.89.20泛播 Cloudflare104.16.86.20韩国 庆尚北道 浦项市 KT59.24.3.174意大利 伦巴第 米兰93.46.8.90泛播 Cloudflare104.16.87.20泛播 Cloudflare104.16.88.20

fastly.jsdelivr.net 2023/06/21 域名解析结果

地址ip泛播 Fastly146.75.113.229中国 香港 Fastly151.101.77.229日本 东京 Fastly151.101.109.229

gcore.jsdelivr.net 2023/06/21 域名解析结果

地址ip德国92.223.84.84德国92.223.84.254

test1.jsdelivr.net 2023/06/21 域名解析结果

地址ip泛播 Cloudflare104.16.85.20泛播 Cloudflare104.16.89.20泛播 Cloudflare104.16.86.20泛播 Cloudflare104.16.88.20泛播 Cloudflare104.16.87.20

仓库

npm:https:///npm/<项目>@<版本>/<资源路径> ESM: https://esm.run/<项目>@版本/<资源路径> GitHub: https:///gh/<用户>/<项目>@<版本>/<资源路径> WordPress: https:///wp/plugins/<项目>/tags/<版本>/<资源路径>

拓展 - 其他CDN

谷歌开发加速库 : 国内环境无法使用微软Ajax CDN : 包含部分库,没有 npm、GitHub全。

注意: 在生产环境中,不建议使用最新版本的方式获取资源,原作者在版本升级过程中会对一些功能进行新增、删除或修改,当原作者对版本进行升级的时候可能会导致网站打开失败、布局错乱、主题不符等情况,建议直接指定版本来部署生产环境

npm

加载任何托管在npm上的项目 https://fastly.jsdelivr.net/npm/package@version/file

加载jQuery v3.6.4 https://fastly.jsdelivr.net/npm/jquery@3.6.4/dist/jquery.min.js

使用版本范围而不是特定版本 https://fastly.jsdelivr.net/npm/jquery@3.6/dist/jquery.min.js https://fastly.jsdelivr.net/npm/jquery@3/dist/jquery.min.js

完全省略版本以获取最新版本 注意: 在生产环境中,不建议使用这种方式获取资源 https://fastly.jsdelivr.net/npm/jquery/dist/jquery.min.js

在任何JS/CSS文件名后面添加".min"以获得经过压缩的版本

// 如果没有压缩版本,我们会为您生成。 https://fastly.jsdelivr.net/npm/jquery@3.6.4/src/core.min.js

省略文件路径以获取默认文件 https://fastly.jsdelivr.net/npm/jquery@3.6

在结尾添加 /可以获取目录列表 https://fastly.jsdelivr.net/npm/jquery/

ESM

加载任何托管在npm上的项目 https://esm.run/package@version/file

加载d3 v7.8.3 https://esm.run/d3@7.8.3

使用版本范围而不是特定版本 https://esm.run/d3@7.8 https://esm.run/d3@7

完全省略版本以获取最新版本 注意: 在生产环境中,不建议使用这种方式获取资源 https://esm.run/d3

加载指定的文件 https://esm.run/d3/dist/d3.js

所有包都会自动捆绑和压缩

GitHub

加载任何GitHub版本、提交或分支 注意: 我们建议对支持npm的项目使用npm https://fastly.jsdelivr.net/gh/user/repo@version/file

加载jQuery v3.6.4 https://fastly.jsdelivr.net/gh/jquery/jquery@3.6.4/dist/jquery.min.js

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

完全省略版本以获取最新版本 注意: 在生产环境中,不建议使用这种方式获取资源 https://fastly.jsdelivr.net/gh/jquery/jquery/dist/jquery.min.js

在任何JS/CSS文件名后面添加".min"以获得经过压缩的版本 如果没有压缩版本,将会自动生成。 https://fastly.jsdelivr.net/gh/jquery/jquery@3.6.4/src/core.min.js

在结尾添加 / 可以获取目录列表 https://fastly.jsdelivr.net/gh/jquery/jquery/

WordPress

从WordPress.org插件SVN仓库中加载任意插件 示例 https://fastly.jsdelivr.net/wp/plugins/project/tags/version/file

加载指定的版本 https://fastly.jsdelivr.net/wp/plugins/wp-slimstat/tags/4.6.5/wp-slimstat.js

加载最新版本 注意: 在生产环境中,不建议使用这种方式获取资源 https://fastly.jsdelivr.net/wp/plugins/wp-slimstat/trunk/wp-slimstat.js

从WordPress.org主题SVN仓库中加载任意主题 https://fastly.jsdelivr.net/wp/themes/project/version/file

加载一个指定版本的主题 https://fastly.jsdelivr.net/wp/themes/twenty-eightteen/1.7/assets/js/html5.js

注意:

在任何JS/CSS文件名后面添加".min"以获得经过压缩的版本如果没有压缩版本,将会自动生成。

常见问题

cdn.jsdelivr.net无法访问

解决方法一 更换一个有用的 jsDelivr加速域或仓库,一般作者只会在npm、ESM、GitHub、WordPress等其中一个仓库进行资源上传,如果作者在不同的仓库都有上传的,那么他的<用户>/<项目>@<版本>/<资源路径>也是不一样的 如:katex@0.16.7 的 katex.min.js ,以下总有一个jsDelivr加速域名能访问,如果都不能建议更换版本号或删掉版本号(默认获取最新的版本)

npm仓库地址

https://cdn.jsdelivr.net/npm/katex@0.16.7/dist/katex.min.js https://fastly.jsdelivr.net/npm/katex@0.16.7/dist/katex.min.js https://gcore.jsdelivr.net/npm/katex@0.16.7/dist/katex.min.js https://jsdelivr.codeqihan.com/npm/katex@0.16.7/dist/katex.min.js https://test1.jsdelivr.net/npm/katex@0.16.7/dist/katex.min.js https://testingcf.jsdelivr.net/npm/katex@0.16.7/dist/katex.min.js

GitHub仓库地址

https://cdn.jsdelivr.net/gh/KaTeX/KaTeX@0.16.7/katex.min.js https://fastly.jsdelivr.net/gh/KaTeX/KaTeX@0.16.7/katex.min.js https://gcore.jsdelivr.net/gh/KaTeX/KaTeX@0.16.7/katex.min.js https://jsdelivr.codeqihan.com/gh/KaTeX/KaTeX@0.16.7/katex.min.js https://test1.jsdelivr.net/gh/KaTeX/KaTeX@0.16.7/katex.min.js https://testingcf.jsdelivr.net/gh/KaTeX/KaTeX@0.16.7/katex.min.js

解决方法二 将相关资源下载到自己的项目中,搭建网站时将其存在到自己的服务器上,这样就不会收到第三方的限制。但是这样做有以下缺点:

消耗流量拖慢网站的加载速度