unpkg是一个快速访问 npm资源的CDN, 它可以容易且快速地加载任何npm包的文件, 使用如下的URL格式即可访问:
使用固定版本号:
你也可以使用 semver range或 tag 代替固定版本号, 或者完全省略版本/标签以使用latest
标签。
如果省略文件路径 (即使用“裸”URL), unpkg将提供在package.json
中的unpkg
字段中指定的文件, 或者回退到main
配置的对应文件。
在URL末尾附加/
可以查看包中所有文件的列表。
?meta
/any/file?meta
)?module
import
说明符扩展为unpkg URL。这个特性是非常实验性的。CDN 根据其永久 URL (包括 npm 包版本) 缓存文件。这是可行的, 因为 npm 不允许包作者用不同的内容替换已经发布的相同版本号的包。
浏览器根据 Cache-Control
标头的指示无限期缓存资源(1 年)。
没有指定包版本号的 URL 会重定向到指定版本号的 URL。如果没有指定版本号, 则重定向到 latest
版本, 如果给出了semver version版本, 则重定向到 maxSatisfying
版本。重定向在 CDN 缓存 10 分钟, 在浏览器中缓存 1 分钟。
如果你希望用户在你发布新版本时能够使用最新版本, 则最好在你的安装说明中直接将版本号放在URL中。这样加载速度也会更快, 因为我们不需要解析最新版本并将其重定向。
对于 npm 包作者, unpkg 可以减轻你在将代码发布到 npm 注册表之外还需要将代码发布到 CDN 的负担。你只需要在你的 npm 包中包含UMD构建(而不是你的仓库, 那是不同的!).
你可以通过以下设置轻松实现:
umd
(or dist
) 目录添加到 .gitignore
文件中umd
目录到你的package.json
中的files配置中umd
目录中这样当你 npm publish 时, 你的版本也会在 unpkg 上可用。
unpkg是由Michael Jackson 建立和维护的一个开源项目, 它不与npm Inc.有任何关联或支持。请不要联系npm来获取有关unpkg的帮助。如果有任何问题或疑虑, 请与@unpkg联系。瑞幸unpkg站点地址为https://unpkg.lkcoffee.com/
私有源使用verdaccio搭建, 它帮助助用户在本地或私有网络上建立一个可控的、高度可定制化的 NPM 仓库。用户可以通过 Verdaccio 管理自己的 NPM 包,也可以通过配置适当的访问权限来控制团队成员的包访问权限。瑞幸私有源地址为: https://verdaccio.lkcoffee.com/