当从开发环境转移到生产环境时,我的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配置类中的基本布局。我希望找到一种方法,让我的所有捆绑包都缩小,除了第一个。这可能吗?到目前为止,我发现实现类似目标的唯一解决方案是全局关闭缩小。
答案 0 :(得分: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);
显然,第一个解决方案更漂亮:)
答案 1 :(得分: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);