WP CDN 开始入坑2

本文要介绍的 [jsDelivr](https://www.jsdelivr.com/ "jsDelivr") 是一个免费、开放原始码的公有 CDN 服务,托管了许多大大小小的 JavaScript、CSS 等 libraries,除了在内容部分有相当高的完整性,jsDelivr 跟其他同类型服务还有什么不同之处呢?

jsDelivr 将重心放在更快速的网路连线,利用 CDN 技术来确保每个地区的使用者都能获得最好的连线速度。依据 jsDelivr 的说明,它们也是首个「打通中国大陆与海外的免费 CDN 服务」,网页开发者无须担心GFW问题而影响连线(不会像之前中国大陆无法使用 [Google Hosted Libaries ](https://developers.google.com/speed/libraries/ "Google Hosted Libaries ") 必须用 [libs.useso.com](https://free.com.tw/libs-useso-com/ "libs.useso.com") 替代)。

此外,jsDelivr 可将不同的 JavaScript 或 CSS libraries 整合在一起,透过一段链结来载入网站,非常方便!如果你正在寻找类似服务,jsDelivr 是个不错的选择。

使用方法

jsDelivr提供npm,githubWordPress等项目的镜像。

对于新手来说,可能翻译来自jsDelivr官方的使用方法感觉很复杂,其实可以简单一点告诉大家怎么用。

比如在我的网站主题中会用到这样的一个CSS文件:style.css

如果我使用本地文件,网站中载入的文件是:

https://mywebsite.com/wp-content/themes/mytheme/static/css/style.css

如果我把主题托管到github,那么在我的github中也会有这一个文件:

https://github.com/mygitname/mywebsite/tree/master/static/css/style.css

若我Releases一个版本0.0.1,那github中会有这样的文件:

https://github.com/mygitname/mywebsite/tree/0.0.1/static/css/style.css

如果我要使用jsDelivr托管此文件,那只需要将网站中载入的本地文件链接更换为jsDelivr CDN的链接,格式如下(gh代表github):

https://cdn.jsdelivr.net/gh/mygitname/mywebsite@0.0.1/static/css/style.css

若要使用缩小版本功能,则将“.min”添加到任何JS / CSS文件中,jsdelivr将自动生成文件。

https://cdn.jsdelivr.net/gh/mygitname/mywebsite@0.0.1/static/css/style.min.css

以下是官方介绍:

npm CDN

加载npm上托管的任何项目

https://cdn.jsdelivr.net/npm/package@version/file

加载文件的确切版本

https://cdn.jsdelivr.net/npm/jquery@3.2.1/dist/jquery.min.js

使用版本范围而不是确切版本

https://cdn.jsdelivr.net/npm/jquery@3/dist/jquery.min.js
https://cdn.jsdelivr.net/npm/jquery@3.1/dist/jquery.min.js

如果您使用此功能,并且您所请求的文件在最新版本的软件包中不可用,则由于jsdelivr的版本回退功能,该链接将继续工作。jsdelivr将继续从旧版本的软件包中提供该文件,而不是因为404错误而失败。

按标签加载(不建议用于生产用途)

https://cdn.jsdelivr.net/npm/jquery@beta/dist/jquery.min.js

完全省略版本或使用“latest”加载最新版本(不推荐用于生产用途)

https://cdn.jsdelivr.net/npm/jquery@latest/dist/jquery.min.js
https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js

请求最新版本

(而不是“最新专业版”或“最新版本”)是危险的,因为主要版本通常会带来重大变化。只有你真的知道自己在做什么才这样做。

将“.min”添加到任何JS / CSS文件以获得缩小版本 – 如果不存在,jsdelivr将为您生成它。所有生成的文件都带有源映射,可以在开发过程中轻松使用:

https://cdn.jsdelivr.net/npm/github-Markdown-css@2.4.1/github-markdown.min.css

缩小大文件可能需要几秒钟。但是,jsdelivr将所有生成的文件存储在永久存储中,因此此延迟仅适用于前几个请求。
省略文件路径以获取默认文件(目前不推荐)。此文件始终缩小:

https://cdn.jsdelivr.net/npm/jquery@3.2.1
https://cdn.jsdelivr.net/npm/jquery@3
https://cdn.jsdelivr.net/npm/jquery

如果默认文件不直接位于程序包的根目录中,则使用此功能可能会导致相对导入出现问题,例如源映射,图像或请求的文件引用的字体文件。

获取目录列表

https://cdn.jsdelivr.net/npm/jquery@3.2.1/
https://cdn.jsdelivr.net/npm/jquery@3.2.1/dist/

GitHub CDN

建议将npm用于支持更好用户体验的项目 – 在jsdelivr网站上可以搜索npm包,并且包页面显示其他有用信息,例如描述和主页链接。
jsdelivr使用永久S3存储来确保所有文件仍然可用,即使GitHub发生故障,或者作者删除了存储库或版本。仅在第一次直接从GitHub获取文件,或者当S3关闭时。
加载任何GitHub版本,提交或分支:

https://cdn.jsdelivr.net/gh/user/repo@version/file

加载文件的确切版本

https://cdn.jsdelivr.net/gh/jquery/jquery@3.2.1/dist/jquery.min.js
https://cdn.jsdelivr.net/gh/jquery/jquery@32b00373b3f42e5cdcb709df53f3b08b7184a944/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

如果您使用此功能,并且最新版本中未提供您请求的文件,则由于jsdelivr的版本回退功能,该链接将继续有效。jsdelivr将继续从旧版本提供该文件,而不是因为404错误而失败。
完全省略版本或使用“latest”加载最新版本(不推荐用于生产用途):

https://cdn.jsdelivr.net/gh/jquery/jquery@latest/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

缩小大文件可能需要几秒钟。但是,jsdelivr将所有生成的文件存储在永久存储中,因此此延迟仅适用于前几个请求。

获取目录列表

https://cdn.jsdelivr.net/gh/jquery/jquery@3.2.1/
https://cdn.jsdelivr.net/gh/jquery/jquery@3.2.1/dist/

合并多个文件

jsdelivr的组合端点允许您在一个请求中从npm和GitHub端点加载多个文件:

https://cdn.jsdelivr.net/combine/url1,url2,url3

适用于单个文件的所有功能(版本范围,缩小等)也适用于此处。所有组合文件都带有源映射,可以在开发过程中轻松使用。

https://cdn.jsdelivr.net/combine/gh/jquery/jquery@3.2/dist/jquery.min.js,gh/twbs/bootstrap@3.3/dist/js/bootstrap.min.js
https://cdn.jsdelivr.net/combine/npm/bootstrap@3.3/dist/css/bootstrap.min.css,npm/bootstrap@3.3/dist/css/bootstrap-theme.min.css

组合大/多个文件可能需要几秒钟。但是,jsdelivr将所有生成的文件存储在永久存储中,因此此延迟仅适用于前几个请求。

WordPress CDN

从WordPress.org插件SVN repo加载任何插件

https://cdn.jsdelivr.net/wp/plugins/Project/tags/version/file

加载文件的确切版本

https://cdn.jsdelivr.net/wp/plugins/wp-slimstat/tags/4.6.5/wp-slimstat.js

加载最新版本(不建议用于生产用途)

https://cdn.jsdelivr.net/wp/plugins/wp-slimstat/trunk/wp-slimstat.js

请求最新版本是危险的,因为新版本可能会带来重大变化。只有你真的知道自己在做什么才这样做。

从WordPress.org主题SVN repo加载任何主题

https://cdn.jsdelivr.net/wp/themes/project/version/file

加载文件的确切版本

https://cdn.jsdelivr.net/wp/themes/twenty-eightteen/1.7/assets/js/html5.js

参考资料

jsDelivr 免費公共 CDN 加速服務,為開發者提供數千種 JavaScript、CSS Libraries


https://www.jsdelivr.com/features

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。