如何将所有js外部脚本标记组合成一个?

时间:2014-04-30 23:52:58

标签: javascript jquery html

我必须将所有脚本标记组合到一个用于页面速度目的。我尝试合并所有的js文件,但它导致jquery错误。以下是我用过的几个脚本。

<script src="/index_files/jquery_002.js" type="text/javascript"></script>
<script src="/index_files/jquery_003.js" type="text/javascript"></script>
<script src="/index_files/mootools-core.js" type="text/javascript"></script>
<script src="/index_files/core.js" type="text/javascript"></script>
<script src="/index_files/respond.js" type="text/javascript"></script>  

任何人都可以帮助我。

2 个答案:

答案 0 :(得分:0)

有很多方法可以解决这个问题......

谷歌的闭包编译器是一个不错的在线版本 http://closure-compiler.appspot.com/home

如果你使用Grunt,你有很多模块,我总是使用requireJS,所以我使用它附带的JS优化器。

某些名称: Yui压缩机 Google Closure编译器 UlgifyJS(非常确定它也结合了文件)

如果您向我提供有关您项目的更多信息,我可以帮助您。

答案 1 :(得分:0)

你可以通过多种方式做到这一点:

  1. 使用某种工具合并文件。 Closure Compiler非常棒,或者查看webpackrollup等更复杂的应用程序
  2. 利用HTTP / 2使其等效。所有现代浏览器都支持HTTP/2开箱即用。您可以通过执行服务器推送来利用此功能,这将减少对服务器发出的请求数量。阅读更多here。请注意,虽然这在技术上并没有合并文件,但它将它们合并为一个请求。
  3. 将它们插入您的身体。这会使它们成为一个文件,但这通常是一个坏主意。 (看着你AMP)至于为什么要看#4
  4. 不要!随着缓存变得越来越普遍,将脚本(尤其是库脚本)组合在一起可能会浪费带宽,因为用户代理可能已经缓存了jQuery。这可以与HTTP / 2结合使用以获得很好的效果