当每个页面引入不同的文件集时,缩小/连接js / css文件。怎么样?

时间:2014-09-21 02:07:41

标签: javascript minify

所以,我理解缩小/连接文件的过程,但如果我没有弄错,请更正,是每页有相同文件的假设。

我运行一个网站,其中各种页面带来不同的CSS和不同的JS。因此,我如何在每页基础上缩小和连接这些文件?

我在任何特定页面上思考 - 在页面请求上缩小并捆绑css / js。 1.后端代码读入文件 - css / js。 2.后端代码缩小并连接文件,将这些文件写入目录。 3.后续请求将使用此新写入的文件。

当然,问题出现在“主页”可能有site.css和site.js - 这些可能会缩小并与该页面上的其他misc文件连接。现在,如果我转到“产品页面”......那些文件(site.js和site.css)也将存在,但现在它们与“其他产品页面”js / css文件配对。因此,似乎我们无法真正“创建”一个新的组合文件......因为整个网站上会有大量重复的相同文件。

你有什么想法,当每个页面带来一个不同的集合(思想也可以包含相同的js / css文件)时,连接/缩小文件的游戏规划与其他页面一样?

我已经研究了YUI等常见程序..但它们似乎并没有解决我的特定用例。

1 个答案:

答案 0 :(得分:4)

我不确定您是否需要担心在每个页面上连接每个脚本,因为您最终会缓存很多内容。例如,如果您将site.jssite.css缩小并且它们在每个页面上都很常见,那么您不必担心在进行额外缩小和连接时包含它们的某些排列在每个页面上做。这有意义吗?

另一方面,根据这些文件的大小,一个潜在的解决方案是缩小和连接整个网站的所有内容并将其发送一次,因为知道未使用的部分没有成本除了向服务器发出全新请求的成本之外,还有很多额外的带宽。我知道至少有少数公司这么做是因为脚本在页面之间的总体重量并不重要,他们最终需要从客户端减少请求,从而加快页面加载和服务器上的更轻松加载。