我开始学习JavaScript和jQuery。我设法做了一些调整和事情,到目前为止一切都很好。但我想是混合多个jQuery文件和插件是否是最佳实践。例如:
我有jQuery 1.3.2 min.js,jQuery缓动1.3.js,jQuery Cycle min.js和jQuery UI。是否建议将jQuery(main),jQuery easing和jQuery循环放在一个文件中?
请在这里给我一些启示。
谢谢,
答案 0 :(得分:6)
将文件分开并使用后端缩小并将其作为部署过程的一部分进行gzip。正如其他人提到的那样,这将节省用户提出不必要的请求,这将节省您必须维护一个巨大的丑陋文件。
此处的另一个好处是,您可以在为源用户提供压缩的文件时,为源树中的所有这些文件(用于阅读/等)保留详细,评论完整的文件。
答案 1 :(得分:5)
你可以这样做。它可以节省拖拽所有JS代码的HTTP请求数量。维护起来有点困难,但在我看来,它不会超过你(和客户端!)的HTTP请求所带来的好处。
如果您使用的是服务器端语言和良好的部署工具,您甚至可以在发布之前自动化JS文件的缩小和合并。我们也在这里通过YUI Compressor的一些帮助以及批处理应用程序中的几行Java代码来完成它。工作得很好,最终用户可以获得更少的HTTP请求,开发人员可以手动不做所有的合并和维护。
答案 2 :(得分:4)
鉴于Google正在考虑将网站响应速度视为排名的限定符,您可能最好将所有JS编译为一个文件。 YSlow是一个很好的工具,可以帮助您确定执行此类操作的最佳方式。
答案 3 :(得分:2)
不,我会将文件分开。它使功能保持独立,并且可以根据需要更轻松地重新插入任何更高版本的插件。
此外,通过编辑文件以包含所有插件代码,您本身就会引入风险,因为文件本身不会受到原始代码库作者的测试。
当然,我认为任何好处都远远超过了陷阱。
答案 4 :(得分:2)
这可能是一个迟到的答案,但我会尝试尽可能多地提供来自谷歌,微软等CDN的文件。即使您引用多个文件,某人已从其他某个站点下载文件的可能性很高,他们也会避免再次下载。
至于自定义,内部,JavaScript,我在jQuery插件中编写99%的JS,即使我只在一个表单上使用该插件。然后我可以将我的所有JS合并到一个文件中,通过Google Closure运行它,并准备好了。
另外1%是每个页面调用插件并传递它所需的任何参数的地方。