为什么UNPKG可以免费使用,过度使用会怎样?

Jos*_*ang 18 javascript npm unpkg

我知道UNPKG快速、可靠且免费使用,但如果我过度使用它,会发生什么?

例如,我可以使用rollup而不是webpack将我的整个网站作为UMD构建捆绑到单个 JS,并将其发布为NPM包,如果我使用ReactVue或任何其他 SPA 方法,我需要的 HTML 标记全部运送到生产是这个最少的代码:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>My Website</title>
    <script src="https://unpkg.com/my-whole-website-umd"></script>
  </head>
  <body>
    <div id="root"></div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

UNPKG 甚至帮助我获取最新版本,这意味着如果我将我的新包发布到 NPM,我正在生产的整个网站都会更新:

<!-- this will always be the latest -->
<script src="https://unpkg.com/my-whole-website-umd"></script>
Run Code Online (Sandbox Code Playgroud)

通过使用这种方法,人们可以节省成千上万的服务器维护费用。

为什么 UNPKG 仍然可以免费?

Tsc*_*cka 11

它最初是一个有趣的项目,后来发展成为许多人使用的流行服务。一些大公司依附于这个项目并捐赠他们的服务,未来可能会有更多的公司这样做。随着未来战略的改变,他们可能会撤回捐款。目前它是免费的。如果捐赠者退出,它可能会下降或更频繁地响应 500 错误或变成付费服务。

它不像付费 CDN 那样是一种严格可靠的服务。但是因为它是免费的,所以它并不是绝对可靠的,如果钱、捐赠的服务或动力用完了,它可能会在一夜之间消失。适合业余爱好或低流量项目,但根据此博客,不要依赖它来处理关键任务。

https://kentcdodds.com/blog/unpkg-an-open-source-cdn-for-npm

unpkg 非常适合开源项目演示和教学材料(我在 ReactJS 初学者指南中大量使用它),但它不太适合大规模的任务关键型应用程序,因为:

unpkg 是一项免费、尽力而为的服务,不能提供任何正常运行时间或支持保证。

这就是为什么迈克尔建议:

如果您依靠它来提供对您的业务至关重要的文件,您可能应该为具有良好支持的基础设施和正常运行时间保证的主机付费。


Pau*_*ulS 8

Cloudflare 的慷慨捐赠使该项目成为可能,Cloudflare 通过其世界一流的 CDN 为我们 99% 的流量提供服务,而 Google Cloud 则捐赠资源来运行我们的后端基础设施。

取自 Patreon