2010-10-01 53 views
0

因此,我在每個菜單項下都有一個包含幾個子項目的大菜單。每個子項目都需要javascript-includes,並且在一些(相當經常)的情況下有20個〜includes。這顯然很糟糕,考慮到HTTP請求時間等等等等。在運行時合併javascript文件

我的想法如下。我正在創建一個合併文件(使用PHP),它將處理所有js-includes,並將它們組合成一個大文件。但我有一些問題。

有兩種情況。

  1. 爲每個子項目創建合併文件並存儲在特殊文件夾中。然後,每個子項目將包括該文件,並且只有該文件是「它自己的js文件」

優點:非常清楚某個子項目是否擁有自己的js文件。 缺點:大量的文件,並每次在一個js文件的改變,你必須更新合併的js文件手動

  1. 合併文件上取決於飛爲每個子項創建時間在某些參數上(js.php?modules = jquery-jqueryui-plugin1-plugin2)

優點:易於使用,所有更改將在運行時生成,因此會立即更新。 缺點:創建合併文件的處理時間和精力可能會損失20〜HTTP請求。

所以,這是一個關於性能的問題。思考?

回答

1

您也可以緩存動態文件。對於給定的唯一URL,您只能生成一次文件,並將其寫入物理文件。然後,您可以將任何後續請求重定向到該物理文件。