24

我知道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>

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

<!-- this will always be the latest -->
<script src="https://unpkg.com/my-whole-website-umd"></script>

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

为什么UNPKG仍然可以免费?

4

2 回答 2

16

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

这不是您通过付费 CDN 获得的严格可靠的服务。但是因为它是免费的,所以它并不完全可靠,如果钱、捐赠的服务或动力用完,它可能会在一夜之间下降。适合业余爱好或低流量项目,但根据此博客,不要依赖它来完成关键任务。

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

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

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

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

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

于 2020-02-03T14:53:52.283 回答
10

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

取自 Patreon

于 2020-02-03T14:54:03.783 回答