2010-09-08 53 views
1

我目前使用PHP minify來合併和壓縮靜態文件(CSS和JS)。用PHP縮小它很容易開發和部署。因爲:縮小和合並文件 - 您的開發和發佈設置是什麼?

假設有兩個文件:a.jsb.js,我們在ab.js中合併並縮小它們。現在,它足以讓我只包括一個腳本標籤:

<script type="text/javascript" src="http://static.example.com/min/g=ab&amp;v=7"></script> 

有了這種靈活性,我可以在a.js和b.js,並在同一時間測試的最終縮小的版本發展離不開改變包括上面的標籤。發佈時我甚至不需要改變。

但是現在我想將我的靜態文件移動到CDN服務器,PHP不會在那裏,所以我想我必須在上傳之前使用YUI壓縮器來縮小和合並。現在,如果我將a.js和b.js與YUI壓縮器結合使用,則必須更改我用來開發的include標籤。

開發我的時候那麼已經使用方法:

<script type="text/javascript" src="http://static.example.com/a.js"></script> 
<script type="text/javascript" src="http://static.example.com/b.js"></script> 

和上傳我的時候已經使用方法:

<script type="text/javascript" src="http://static.example.com/ab.min.js"></script> 

然後它成爲一個問題,因爲,這兩條線必須被合併合爲一體。什麼是你的設置來管理這個?

回答

0

指定配置文件中的基址爲ab.min.js(即http://static.example.com/)。在生產配置中,使用CDN位置。在您的開發配置中,使用自動縮小的位置。

+0

這不是我的問題。對不起,如果它是誤導。現在更新了問題。 – Sabya 2010-09-08 09:15:59

0

看起來你很喜歡在開發和生產中使用不同的基本URL,但是將兩行合併爲一個是你的問題。

如果是這樣的話,也許你想把這一步分成兩部分。

  1. 將a.js和b.js手動組合到ab.js中,但不要縮小。你只需要做一次。現在在開發過程中,您可以直接使用ab.js中的源代碼。
  2. 在上傳之前,通常作爲構建過程中的自動步驟,使用YUI壓縮器來縮小ab.js.

如果你想保持a.js和b.js分開,那麼上面的代碼就不適合你了,你可能需要某種預處理器來根據需要修改源代碼中的腳本標記。