UNPKG或者jsDelivr 来做cdn优化

unpkg是一个快速的全球内容交付网络,适用于npm上的所有内容。使用它可以使用以下URL快速轻松地从任何包加载任何文件

https://unpkg.com/

unpkg.com/:package@:version/:file

年4月135月13 unpkg担任17033391868个请求,共207 TB的数据到1549091717个唯一访问者,99.19 ,其中,从缓存中提供。

例子

使用固定版本:

您也可以使用semver范围或标签而不是固定版本号,或完全省略版本/标签以使用标签。 latest

  • unpkg.com/react@^16/umd/react.production.min.js
  • unpkg.com/react/umd/react.production.min.js

如果省略文件路径(即使用“裸”URL),则unpkg将提供unpkg字段指定的文件,或者回退到。 package.jsonmain

  • unpkg.com/jquery
  • unpkg.com/three

/在URL的末尾附加一个以查看包中所有文件的列表。

  • unpkg.com/react/
  • unpkg.com/lodash/

查询参数

?meta

将包中任何文件的元数据作为JSON返回(例如/any/file?meta

?module

扩展JavaScript模块中的所有“裸” 说明符以取消URL。此功能非常实验性 import

缓存行为

CDN根据其永久URL缓存文件,其中包括npm包版本。这是有效的,因为npm不允许包作者覆盖已使用相同版本号的不同包发布的包。

未指定包版本号的URL重定向到具有的版本号。这是latest没有指定版本的版本,或者给出semver版本maxSatisfying时的版本。重定向缓存5分钟。

浏览器(通过Cache-Control标题)被指示缓存资产1年。

工作流程

对于npm包作者,除了npm注册表之外,unpkg还可以减轻将代码发布到CDN的负担。您需要做的就是在您的npm包中包含您的UMD构建(而不是您的仓库,这是不同的!)。

您可以使用以下设置轻松完成此操作:

  • umd(或dist)目录添加到您的文件中 .gitignore
  • umd目录添加到文件数组中 package.json
  • 发布时,使用构建脚本在目录中生成UMD构建 umd

而已!现在,当你npm publish在unpkg上也有一个版本时。

关于

unpkg是由Michael Jackson建立和维护的开源项目。unpkg不以任何方式与npm,Inc。有任何关联或支持。请不要联系npm获取unpkg的帮助。相反,如有任何问题或疑虑,请与@unpkg联系。

unpkg CDN由Cloudflare提供支持,Cloudflare是世界上最大,最快的云网络平台之一。在过去的一个月里,Cloudflare 为全世界超过207 TB1,549,091,717名独特的unpkg用户提供服务。

unpkg的原始服务器由Google Cloud提供支持,并通过Angular Web框架的慷慨捐赠成为可能,Angular Web框架是世界上最受欢迎的图书馆之一,用于在桌面和移动设备上构建令人难以置信的用户体验。

 

UNPKG或者jsDelivr 来做cdn优化_第1张图片

 

 

 

 

你可能感兴趣的:(UNPKG或者jsDelivr 来做cdn优化)