4

我已經設置了我的web服務器,以便大部分地遵循common git/web focused workflow開發分支與生產分支的Javascript/CSS文件位置

所以我在一個文件夾中有一個開發分支作爲子域,並且在我的根文件夾/域中有主分支。

麻煩的是,在生產中,我們結合&縮小我們的主分支JS/CSS文件,並把它們放在我們的CDN,每次我們改變&再壓縮文件,文件名變化,使我們的主分支結束引用類似cdn.example.com/e23ab9.js,這當然會隨着我們編碼更新而頻繁更改。

但是,在我們的開發版本&分支上,我們當然只想引用未組合的&未分級文件,以便我們可以不斷測試新的修改。

我確定有一種智能/簡化的方式來解決這種情況,所以我們並不是經常在原始的js/css文件和新生成的縮小文件名之間來回提交,每次我們用最新的開發版本。

我在想這個解決方案可能會涉及到符號鏈接或者其他的東西,但是我對他們不太熟悉,寧願學習它,並且從一開始就這樣做。

任何建議,提示,或方向將不勝感激

謝謝大家

+0

你在使用.NET嗎? –

+0

不,但我們暫時通過簡單的if語句解決了這種情況,檢查正在訪問的頁面所在的域,然後加載正確的文件集。它現在會做,但我相信有更好的方法 – jstats

回答

1

jstats,我們管理一個類似的設置,並根據您的意見,這是有道理的。

重申我想你決定在這種情況下做的 -

  1. 你可能壓縮&結合您的文件,創建被髮送到CDN動態& 隨機文件名。
  2. [你猜這裏的遠景..] - 你在服務器上注意一下(可能是一個類似於PID文件但包含隨機文件名的文件),你可以在渲染時抓住這個文件指向CDN文件。
  3. 在呈現時,您會檢查服務器端代碼是否處於生產或開發階段。 3)。如果是生產,抓住你的「PID」文件並指向縮小的CDN文件 3b。如果開發,加載所有的常規資源

,需要一個假設的飛躍,但我已經看到,在實施前,所以我用它去:-P

回答你關於更多問題精簡版:

是的,一個偉大的方式來簡化這個是通過類似Google Pagespeed Module

然後,只需設置在你的虛擬主機配置爲您的生產設置爲允許Pagespeed做它的事情,並在您的開發設置,關閉Pagespeed!

這樣就比較簡單了。

我相信你已經搬家了,但萬一有人發現這個問題,並正在尋找答案..

相關問題