mvc4 Styles.Render 生成带 Bootstarp.min.css 失败

Styles.Render 生成连接为空白,类似失效的样子。

今天刚用mvc4,发现了一个新的绑定压缩方法,很是兴奋,然后开始模仿着写。

            bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));
            //添加Bootstarp的CSS
            bundles.Add(new StyleBundle("~/Content/BootStrap/css").Include("~/Content/BootStrap/bootstrap.min.css"));

这样写发现我在生成的页面中没有生成连接。

然后调试了半天没发现什么问题。试试改成这个文bootstrap.css。

bundles.Add(new StyleBundle("~/Content/BootStrap/css").Include("~/Content/BootStrap/bootstrap.css"));

再看,发现已经有了Bootstarp的效果了。

难道是css的文件问题?不至于吧?我把原来的css改名,发现一样的正常。

然而我还是不明白为什么?难道这个方法不知道带有min的字样生成?

我就做了个试验将site.css 改名为 site.min.css

bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.min.css"));

果然马上就不生成了。

反正很神奇,我还未能找到问题,求高手解答。

默认本地vs里面调试的时候,因为web.config文件里面有一个debug属性,当有此属性时,默认css和js是不会压缩的,此时加载的js也是不支持.min.js这种的
,加载的都是不带min的js文件!而当发布到iis后,web.config里面没有debug属性了,此时css和js是会自动启用压缩功能,压缩后的css里面若没有指定图片相对于网站的根目录的路径
的话,图片也是没办法正常显示的,js此时也会只加载有.min的文件。

解决方案:

在绑定文件BundleConfig的方法RegisterBundles下设置属性:

BundleTable.EnableOptimizations = false;

问题解决。

MVC4 如何下发带有min 的js

添加一个方法:

        public static void ResetIgnorePatterns(IgnoreList ignoreList)
        {
            ignoreList.Clear();
            ignoreList.Ignore("*.intellisense.js");
            ignoreList.Ignore("*-vsdoc.js");
            ignoreList.Ignore("*.debug.js", OptimizationMode.WhenEnabled);
        ignoreList.Ignore("*.min.js", OptimizationMode.WhenDisabled);
ignoreList.Ignore("*.min.css", OptimizationMode.WhenDisabled); }

然后再添加这个语句

  public static void RegisterBundles(BundleCollection bundles)
        {
            ResetIgnorePatterns(bundles.IgnoreList);//添加这句

            ...........
            ...........
        }        

福建C# .net MVC 技术群 468259528

原文地址:https://www.cnblogs.com/annkiny/p/5961197.html