2015-07-20 20 views
1

我目前正在學習MVC風格的ASP.NET 4.5,並且我已經決定徹底​​刪除bootstrap並使用PureCSS(http://www.purecss.io)。將PureCSS添加到MVC 4.5包中

這很大程度上是由於我的Web應用程序幾乎不需要除代碼隱藏以外的腳本以及一些用於數據驗證的輕JS等事實。

目前我正在鏈接到來自Yahoo!的組合PureCSS樣式表。 CDN:

<link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.6.0/pure-min.css"> 

在我的_Layout.cshtml文件中。這顯然是功能性的,但我有2個顧慮:

  1. 如果CVN(無論何種原因)失敗/下降/變化,所有的造型消失,我就必須解決在運行(或實施一段時間的故障安全切換到另一個CDN)
  2. 我真的很喜歡捆綁的概念,我想將本地PureCSS庫捆綁在一起,以防止上述問題以及爲了模塊化/劃分。

是產生這種捆綁的一個簡單的問題:

bundles.Add(new StyleBundle("~/Content/css").Include(
        "~/Content/purecss_release_1_6/some.css", 
        "~/Content/purecss_release_1_6/other.css", 
        "~/Content/purecss_release_1_6/neat.css", 
        "~/Content/purecss_release_1_6/etc.css", 
        ... 
        "~/Content/site.css")); 

如果是這樣,這是好得很,但也有在發行css文件數十種。有沒有更好的方法來捆綁他們?

謝謝!

回答

1

您可以使用IncludeDirectory來引用包含所有CSS文件的整個目錄。具體到你的情況

例子:

bundles.Add(new StyleBundle("~/Content/css") 
    .IncludeDirectory("~/Content/purcss_release", "*.css")); 

新的.NET 4.5是下降從失敗的CDN回本地材料的集成系統。教程/信息:從上面的鏈接http://www.hanselman.com/blog/CDNsFailButYourScriptsDontHaveToFallbackFromCDNToLocalJQuery.aspx

有用的信息:

的CDN回退的基本思想是檢查一個類型或變量 這應該是一個腳本加載後存在,如果它不在那裏,請嘗試在本地獲取該腳本 。請注意document.write中的重要轉義字符 。這裏是jQuery:

<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-2.0.0.min.js"></script> 
<script> 
if (typeof jQuery == 'undefined') { 
    document.write(unescape("%3Cscript src='/js/jquery-2.0.0.min.js' type='text/javascript'%3E%3C/script%3E")); 
} 
</script> 
+0

這就是訣竅,謝謝! – Answoquest

+1

@EschersEnigma感謝您的鏈接和編輯。在鏈接消失的情況下,我在鏈接中添加了一些有用的信息。 –