如今,前端开发人员拥有webpack,browserify等工具将javascript文件打包在一起。如果脚本在服务器上运行,则打包看起来好于一次单独加载每个文件。但是如果我们将脚本部署到客户端,我们是否总是需要将所有脚本打包在一个文件中?或者只是我们自己编写的代码?
例如,jQuery是一个非常受欢迎的第三方库,随处可见。如果我们使用webpack将jQuery与我们的逻辑代码捆绑在一起,是的,它减少了HTTP请求次数,但是浪费了浏览器缓存,如果用户再次访问该站点或者有多个页面使用jQuery,则可以减少更多流量。
所以我的问题是:我们是否应该将所有代码捆绑在一起以减少一次通过流量或单独部署常用的第三方库,尤其是在使用npm / bower + webpack / browserify / elixir时。什么是最佳做法?
答案 0 :(得分:5)
正如您所提到的,将jQuery与您自己的代码捆绑在一起会抵消缓存优势,而jQuery也不小。此外,您可能有时会想要更改代码。您通常不会更改jQuery,但是您将强制客户端重新下载它。
因此,最好分开分发第三方库,理想情况下需要更高的缓存时间。