我拍摄了我使用的jquery.js文件和jquery-ui文件的快照,并将它们转储到一个巨大的.js文件中,其中包含我用于我网站的所有其他.js文件.
当我这样做没有minfication/packing时,文件停止工作,当我尝试在我的网站上加载它而不是通常的.js文件时,我在文件上得到"递归太深"的错误.所有错误都来自jquery和jquery-ui.使用简单的编号方案,我确保jquery.js/jquery-ui文件是文件中列出的第一个文件,顺序正确(与包含为单个文件相同).
两个问题:1)JavaScript的include标签是否与将所有文件转储到一个巨大的文件中具有相同的效果?JavaScript文件是否存在于自己的脚本标签或不同文件中的额外隔离/隔离?
2)我的目标是通过使用一个巨大的.js文件和我在我的网站中使用的所有JavaScript(在JQuery中很重)和缩小该文件来使我的网站更快.为什么这被误导了?有什么更好的方法呢?
注意:Google的CDN版本的JQuery文件对我不起作用,我使用的所有JQuery插件/主题都不适用于Google的版本(无论如何谁说他们可以成功使用Google的CDN就是骗人的.)
更新:感谢您在答案中提供的好建议,所有这些都有助于我了解有关在生产服务器上部署JavaScript文件的更多信息.我实际上总是使用JQuery UI插件的最新SVN分支,并且UI插件中存在错误,导致它们无法与我的文件合并在一起.我得到了最新的Theme Rolled插件,这些插件已经在一个文件中缩小并解决了这个问题.
可能你的JavaScript文件有一些语法错误.浏览器可以在逐个加载文件时更正它们,但在"坏"文件组合时失败.您可以尝试使用Rhino编译器编译文件(http://www.mozilla.org/rhino/)
java -cp build/js.jar org.mozilla.javascript.tools.jsc.Main giant.js
你也可以使用JSLint验证器(http://www.jslint.com/),想想它将无法处理jQuery.但你仍然可以将所有的文件,并验证它们.