14

从开发环境转移到生产环境时,我在缩小 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..

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

4

2 回答 2

13

您有几个选项,您可以使用以下示例替换您的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);

显然第一个解决方案更漂亮:)

于 2013-02-11T16:23:41.943 回答
2

您只需要声明一个通用的 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);
于 2013-02-11T16:25:22.180 回答