目前,我正在学习MVC风格的ASP.NET 4.5,并且我决定完全删除引导程序,并使用PureCSS(http://www.purecss.io)。

这主要是由于我的Web应用程序几乎不需要脚本,除了背后的代码外,还需要一些轻量级JS来进行数据验证等。

目前,我正在链接到Yahoo!的组合PureCSS样式表。 CDN:

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


在我的_Layout.cshtml文件中。这显然是有效的,但是我有两个问题:


如果CVN(无论出于何种原因)失败/下降/更改,所有样式都将消失,我将不得不立即解决(或实施一段时间的故障安全切换到另一个CDN)
我真的很喜欢捆绑的概念,并且我希望捆绑本地的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文件的DOZENS。有没有更清洁的捆绑方式?

谢谢!

最佳答案

您可以使用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>

关于css - 将PureCSS添加到MVC 4.5捆绑包,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31522011/

10-10 23:44