我们通常将JavaScript文件加载为:
<script type="text/javascript" src="js/a.js"></script>
<script type="text/javascript" src="js/b.js"></script>
<script type="text/javascript" src="js/c.js"></script>
<script type="text/javascript" src="js/d.js"></script>
这将进行4次请求 - 响应调用。有没有办法“除了将这些文件压缩成一个”,以减少GET调用的数量?如下所示:
<script type="text/javascript" src="js/a.js, js/b.js, js/c.js, js/d.js"></script>
几个月前我在Hacker News(news.ycombinator.com)上看到了这样一个例子,但现在似乎无法找到它。
答案 0 :(得分:0)
如果目的是减少GET请求,那么这个问题与HTTP有关,而不是HTML。 HTML标准没有定义如何请求这些文件,而是仅定义它们的处理方式。这意味着,更改script
标记定义不是解决问题的好方法。
实用的方法是在服务器端组合js文件。但是也有改进HTTP或替换它的努力。 例如,Google正在Chrome上试用的 SPDY 协议具有仅使用一个连接传输资源的功能。 (和HTTP / 2,基于SPDY,如wikipedia所述)我相信还有其他项目。
P.S。关于你提到的hackernews例子,我还没有看过,但我可以想象它是如何工作的。它可能是客户端脚本和服务器端库。该脚本分析此类脚本标记并发送特定语法的请求。 lib识别并捕获此请求并反馈动态组合的源。这只是一个自动服务器端组合。