我有一个包含很多引用的 .js 文件的站点;这些是相当小的文件,但我想让我的方法按主题/功能分开。
将所有方法保存在一个 .js 文件中是否更好,或者有许多(〜 20 - 30)个小文件都只包括一些行没有问题?
我有一个包含很多引用的 .js 文件的站点;这些是相当小的文件,但我想让我的方法按主题/功能分开。
将所有方法保存在一个 .js 文件中是否更好,或者有许多(〜 20 - 30)个小文件都只包括一些行没有问题?
无论如何都要将它们分开以进行开发,但是您应该考虑将它们捆绑到一个文件中以进行生产。
对于这些文件中的每一个,都会向服务器发送一个 HTTP 请求,然后浏览器在请求下一个文件之前等待响应。浏览器的限制(或限制)通常会阻止并行下载。这意味着对于每个文件,您等待请求到达服务器,服务器处理请求,以及回复(包括文件内容本身)到达您。端到端,其中一些可以对页面加载时间产生很大影响。
实际上,拥有这么多引用文件是个坏主意。性能问题的基本思路是尽量减少 HTTP 请求(至少在您的生产服务器上)。看看这个http://developer.yahoo.com/performance/rules.html#num_http
有没有人有一个聪明的 nant 脚本可以为你做到这一点?我编写了一个自定义的 nant 任务,它使用 YUI 压缩器来缩小我的 css 和 js,但是添加组合会很有用。你们怎么处理这个?
我不知道你在服务器端使用什么框架(如果有的话),但是 Ruby on Rails 有一个脚本包含函数,它可以根据设置(例如测试或生产)创建大量脚本标签(通常是测试模式)或创建一个标签,将所有脚本连接成一个(可选地用一些插件压缩)文件。我相信许多其他框架也支持这样的东西。
更新:我只记得:您也可以手动压缩(通过去除空格和注释、缩短变量名等)并将 javascript 文件和 CSS 文件与Yahoo! UI 库:YUI 压缩器。在压缩之前确保你的 JavaScript 是正确的,试试JSLint。