我应该将javascript框架与我的应用程序捆绑在一起还是使用公共CDN
Should I bundle a javascript framework with my application or use a public CDN?
大约两三年前,我会把这个答案总结为。
- 将所有 js 编译到一个文件并进行缩小。
- 将所有 CSS 编译到一个文件中并缩小。
- 异步加载外部脚本。
- 将缓存控制标头设置为遥远的未来。
- 用于失效的指纹资产 URL。
- 使用您自己的 CDN。
现在应用程序在javascript上似乎要重得多。我已经看到浏览器能够打开更多并行连接的证据。
当前包含静态资产时 Web 性能的最佳实践是什么?
当我使用像angular,backbone或ember这样的框架时,我应该将框架与我的应用程序捆绑在一起,还是使用公共CDN(如googles https://developers.google.com/speed/libraries/)并仅捆绑我的应用程序代码?
我会说答案是...这要看情况。 我很欣赏这不是很有用,所以我会扩展。
- 如果您正在编写内部(内部网)应用程序,将框架捆绑到您的应用程序中会更好、更高效。 然后,您的用户只需从本地网络拉取文件。 如果您有多个使用同一框架的内部应用程序,那么内部 CDN 将是一个不错的选择。
- 如果您的用户不太可能访问使用相同框架的其他应用程序,那么您将不会从 CDN 中获得任何好处(除非他们与您的服务器位于世界不同的地方),但也没有真正的缺点。
- 如果要自动更新到库的最新版本(100 次中有 99 次是个坏主意),您可以使用 CDN 自动提供当前版本。
- 如果您有带宽问题,使用 CDN 可以缓解这种情况,因为您的用户将从其他人那里下载文件。
- 如果你的应用程序 js 会频繁更改,那么如果你将所有 js 捆绑在一起,你将强制重新下载所有框架库。 显然,有一些简单的方法可以解决这个问题,例如单独捆绑库。
对于外部应用程序,我会说使用 CDN 是正确的选择。
相关文章:
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- 为什么Telerik cdn在IE中不起作用
- 如何将具有相同功能的两个select html标签的两个JS组合在一起
- 将3个函数合并在一起
- 使用javascript将两个输入的日期添加在一起
- 避免将lib依赖项与webpack+handlebas加载程序捆绑在一起
- PHP、Javascript和SQL代码混杂在一起
- 有没有办法把它们串在一起,这样它们基本上可以同时工作
- PHP:同时循环元素粘在一起
- 把两个数字加在一起,得到5+10=510,而不是15
- 我怎样把这些剧本写在一起
- 安全地包装JS文件,这样当它们连接在一起时,它们仍然可以工作
- 如何将遗留的js文件与webpack捆绑在一起
- 在 JavaScript 中使用侦听器将输入字段链接在一起
- 如何将表链接在一起
- 如何有效地匹配两个不同 JavaScript 对象上的 id,并将它们合并在一起
- 我想通过单击按钮将 2 个 php 文件链接在一起
- JavaScript 将字符串与退格符连接在一起
- 通过 jQuery Find and Replace 将文本 URL 与 标记包装在一起
- 我应该将javascript框架与我的应用程序捆绑在一起还是使用公共CDN