2010-01-02 15 views

回答

1

從6.1開始,客戶端資源管理組件就是解決方案。它會自動合併您的所有文件,清理它們,刪除註釋,並根據需要進行縮小。

http://www.dotnetnuke.com/Resources/Wiki/Page/Client-Resource-Management-API.aspx

這需要時間來適應了一點,但控制是相當不錯的。你可以決定他們將要進入​​的順序,如果你不想要一個大的單個文件,你可以將文件分組,如果你不想要一個大的單個文件 - 也許你需要一堆但不是全部的腳本。
有一點要記住的是,當你正在開發(正如下面的評論所指出的,我已經編輯了這篇文章)你應該總是在web.config中使用debug = true,否則如果你正在使用Resource Mgmt並更改您的源文件,您將不斷需要通過進入站點設置,客戶端資源管理並增加版本來重新生成組合文件。這是一種防止任何東西無意改變客戶的瀏覽器緩存(這是彈出消息框,讓你知道什麼時候)。我相信,如果你有一個億用戶,這可能會有所作爲。

+1

關於開發,請在web.config中打開debug =「true」,客戶端資源管理器將關閉它的組合和縮小。 – bdukes 2013-01-09 13:56:53

1

部分只是DNN的動態性 - 有一些R 21發表了有關合並JavaScript和CSS一些好的資源

一個具體的建議是你所有的皮膚和contianer CSS中的一個文件,如果結合您可以完全控制網站,將您使用的模塊的CSS組合到同一個文件中。

我知道有加入Telerik的的控制有一定的能力,資源文件

另一件事,有助於對圖形組合成一個單一的文件,並使用CSS(精靈技術),以減少的數量相結合文件加載並調用到服務器

2

可以使用Unload CSS Skin Object刪除鏈接到一些由框架加載的CSS文件(比如Default.css,portal.css &任何特定模塊的CSS文件)。然後,您可以將所有這些樣式移動到外觀(或門戶樣式表,無論您的偏好),以便只有一個樣式表被加載。

我不知道任何用於組合JavaScript資源或減少DNN需要的腳本數量的解決方案。

+0

卸載CSS皮膚對象是一個很好的開始。我還記錄了DNN使用的常見JavaScript文件的依賴關係。然後只在需要時加載它們。似乎某些JavaScript功能主要用於管理,因此我正在考慮有條件地加載這些腳本。當我完成時,我會發布依賴項列表。 – jacksonakj 2010-01-05 14:26:59

0

就像上面說過的那樣,這是野獸的本質。每個模塊將至少包含1個css文件。你可以從snapsis.com看看PageBlaster,我相信它會做你正在尋找的東西。