Asp.net mvc ASP.NETMVC捆绑包和缩小

Asp.net mvc ASP.NETMVC捆绑包和缩小,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,当我从开发环境转移到生产环境时,我在缩小javascript文件的方式上遇到了一些问题。似乎有些包没有适当缩小,因此我一直在四处寻找一种不缩小特定包的方法 public static void RegisterBundles(BundleCollection _bundles) { _bundles.Add(new ScriptBundle("~/bundles/toNotMinify").Include( "~/Scripts/xxxxx

当我从开发环境转移到生产环境时,我在缩小javascript文件的方式上遇到了一些问题。似乎有些包没有适当缩小,因此我一直在四处寻找一种不缩小特定包的方法

    public static void RegisterBundles(BundleCollection _bundles)
    {
        _bundles.Add(new ScriptBundle("~/bundles/toNotMinify").Include(
            "~/Scripts/xxxxxx.js"
            ));

        _bundles.Add(new ScriptBundle("~/bundles/toMinify").Include(
            "~/Scripts/yyyyy.js"
            ));
        etc..

这是我的bundle config类中的基本布局。我想找到一种方法,使我的所有捆绑包缩小,除了第一个。这可能吗?到目前为止,我发现实现类似效果的唯一解决方案是在全局范围内关闭缩小功能。

您有两个选择,可以使用
ScriptBundle
替换
Bundle
,如本例所示:

_bundles.Add(new Bundle("~/bundles/toNotMinify").Include(
    "~/Scripts/xxxxxx.js"
));
。。或者可以禁用新创建的捆绑包上的所有转换,如下所示:

var noMinify = new ScriptBundle("~/bundles/toNotMinify").Include(
    "~/Scripts/xxxxxx.js"
);
noMinify.Transforms.Clear();
_bundles.Add(noMinify);

显然,第一个解决方案要漂亮得多:)

您只需声明一个通用Bundle对象并指定所需的转换:

var dontMinify = new Bundle("~/bundles/toNotMinify").Include(
                                        "~/Scripts/xxxxx.js");
            bundles.Add(dontMinify);

            var minify = new Bundle("~/bundles/toNotMinify").Include(
                "~/Scripts/yyyyyy.js");
            minify.Transforms.Add(new JsMinify());
            bundles.Add(minify);

鲁迪:对不起!我错误地编辑了你的回复,而不是我的(我错误地遗漏了一些代码,并按“编辑”来更改它;(谢谢。我已经尝试了这两种方法,但出于某些原因,在以发布模式构建时,它似乎仍然会缩小它。RUDIS soln应该可以工作。如果您构建一个基本捆绑包而不指定任何转换,它只会按原样捆绑文件,因此这绝对不应该缩小捆绑包。对于捆绑包中的文件“x.js”,请确保re不是中的“x.min.js”文件folder@stooboo为什么不呢?一个普通的包只包含它所提供的内容。