多个js文件是应该异步加载还是合并压缩?

从减少请求数来说是应该合并压缩的,但是有多个通用的js文件在不同的子站也有使用,应该是用无阻塞加载的方式。

疑惑哪个方式比较合理?

阅读 11.8k
4 个回答

最近的项目里我是这样玩的:

  1. 用 makefile 来组织/执行文件的的合并 (ant/maven 对我来说太重了)
  2. 判断 debug_mode 的开启, 再调用压缩合并的公用 common_static_file, 本地调试的时候依旧使用未压缩合并的 source_file
  3. 分析跳转统计数据, 延迟预加载 app_static_file

之前使用yui compressor还有minify。看了几位大佬的回答,大家偶读是在合并,那么合并是必然了~~~~

这应该要看具体情况吧。合并使 http 请求数减少了,但却不能最大化的利用浏览器缓存。

比如 a.html 用到了 1.css 和 2.css , b.html 用到了 2.css ,3.css

如果是合并的话, 加载 a.html 只有一个请求 1+2.css ,加载 b.html 也另有一个请求 2+3.css

如果不用合并, 加载 a.html 需要两个请求 1.css 和 2.css ,但在加载 b.html 的时候只需要请求 3.css (因为 2.css 已经加载过,浏览器会直接使用缓存)

总结就是: 合并会使 请求数减少,但请求的数据不定少;不合并,会有比较多的请求数,但可以最大化利用浏览器缓存

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题