如何选择CDN来加载Javascript&;CSS库?

如何选择CDN来加载Javascript&;CSS库?,javascript,css,package,libraries,cdn,Javascript,Css,Package,Libraries,Cdn,为了选择一个特定的CDN将Javascript和CSS库加载到我的网站开发项目中,我应该做什么样的推理 我看到有一些选择(例如,和可能的其他),但我不明白什么时候我应该使用一个而不是其他 例如,显示BootstrapCDN和jsdeliver,同时使用unpkg,依此类推 我想到的第一件事是,它们的速度和使用量可能会有所不同(因此,如果我使用市场份额最大的一个,我将更有可能让我的用户在浏览器的缓存中已经拥有了这些库),但我不确定这只是吹毛求疵,或者这些理由是否合理 另外,一旦我选择了一个CDN来

为了选择一个特定的CDN将Javascript和CSS库加载到我的网站开发项目中,我应该做什么样的推理

我看到有一些选择(例如,和可能的其他),但我不明白什么时候我应该使用一个而不是其他

例如,显示BootstrapCDN和jsdeliver,同时使用unpkg,依此类推

我想到的第一件事是,它们的速度和使用量可能会有所不同(因此,如果我使用市场份额最大的一个,我将更有可能让我的用户在浏览器的缓存中已经拥有了这些库),但我不确定这只是吹毛求疵,或者这些理由是否合理

另外,一旦我选择了一个CDN来加载一个脚本,是否有充分的理由总是对其他脚本使用相同的CDN



我通常使用npm将脚本下载到我的开发环境中,并将它们打包成一个包;但有时我希望将其中一个或多个脚本保持为非捆绑状态(即,它们在单个页面上使用,我不想到处加载);在这种情况下,使用CDN可能比在本地加载要好,因此我的问题是。

如果您的使用非常通用,那么在比较较大的名称(如
cdnjs
jsdeliver
unpkg
)时,您可能不会看到一个CDN对另一个CDN有很大的性能优势。这三个都使用大型CDN提供者来实际分发包,并且具有类似的缓存策略

考虑到一些流行的CDN已经可以被用户的浏览器缓存,这是值得做的。如果您的用户专注于某一特定市场,则某些提供商可能会在其CDN提供商的基础上拥有优势——例如,jsDeliver将Quantil作为其CDN提供商之一,该提供商在中国设有分支机构,可以提高该市场的性能


这些CDN在不使用JS预处理器或绑定器(可以从依赖项生成绑定)的项目中非常有用。由于您已经在构建bundle,您还可以查看一个名为
代码拆分
的概念。这个概念将把你的捆绑包分成更小的块,这些块只在你的用户在应用程序中导航时根据需要加载。这将保留一个通用的依赖项管理策略(使用package.json和您的包管理器),而不是将两个方案与
require
s和
混合使用。谢谢,我最需要的是基于Bootstrap和一些其他库(aos、slick、gallery popup等)以及我使用的捆绑包(Rollup)开发Wordpress自定义主题如果您不为CDN服务付费(如果您付费,我可以撰写一个正确的答案),请使用Cloudflare隐藏您的来源。不会有任何性能提升。