2

我剛開始調查Microsoft Ajax Minifer 4.0以便與我工作的Visual Studio 2008 Web應用程序一起使用。事實證明,將它掛接到.csproj文件是很容易的,因此它爲所有腳本生成.min.js文件,但是我很難理解如何將它與Web設置項目&源代碼管理集成。在Web安裝項目和源代碼控制中使用Microsoft Ajax Minifier

基本上我想要做的是包含在Web安裝項目所產生的.min.js文件,而不必將之列入源控制,因爲:

  1. 必將其前結帳離開構建是執行是一種痛苦(如果它們沒有被檢出,縮小器不能修改它們)。
  2. 由於它們被創建爲「構建神器」,它似乎只是錯誤將它們存儲在源代碼管理下。

我到目前爲止遇到的唯一選擇是通過右鍵單擊Web安裝項目並選擇「添加>文件」,將.min.js文件明確包含在安裝項目中,然後在「目標機器上的文件系統」中複製相關的文件夾層次結構,以便我可以將文件強制到正確的位置。這既不優雅或簡單/健壯如:

  1. 它需要我手動手工
  2. 每一個精縮js文件添加到Web安裝項目同時在Web應用程序項目維護相關的目錄結構的副本與Web安裝項目
  3. 記住任何新的js文件精縮版本添加到Web安裝項目

是否有這樣做的更好的辦法?

回答

1

的解決方案,我最終還是選擇了是要在自己的項目中minifier DLL和創造,我已經更換了所有與引用到.js文件處理程序(ashx的),所以:

<script src="MyJsFile.js" type="text/javascript"></script> 

是與

<script src="Minifier.ashx?file=MyJsFile.js" type="text/javascript"></script> 

取代我在web.config文件中的配置設置,可以讓我確定腳本文件是否minifed與否。

0

使用微軟的Ajax Minifier與源代碼控制

微軟的Ajax Minifier產生 的精縮JavaScript和CSS文件 作爲構建過程的輸出。 因此,我們建議您以 處理縮小文件的方式與處理由構建 過程生成的 程序集的方式完全相同。特別是,我們建議您在Visual Studio項目 中不包含縮小的 文件,並且您不檢查縮小的 文件到源代碼控制中,因此建議使用 。

如果您的項目中包含縮小文件 ,並且您使用源代碼 控制,那麼您將遇到 問題。當源文件檢出 的源代碼管理,他們檢查 與他們的只讀屬性 設置。如果您嘗試執行構建,當它試圖向 寫入只讀文件時, Microsoft Ajax Minifier將生成 錯誤。

來源:Microsoft

從我的理解,這意味着不要將-min文件添加到項目中,僅此而已。當IIS構建應用程序時,它將自動創建文件。我認爲你必須在網絡服務器上安裝Microsoft Minifier 4.0。

+0

@ lucian.jp,正如我在我的問題中提到的,我針對的是一個Web安裝項目,因此**不包含任何不在.csproj文件**中的項目。就目前而言,這使得它對我來說不是首發。我也不確定你的意思是「什麼時候IIS會構建應用程序,它會自動創建文件」? – Rob

相關問題