ASP.NET Web应用程序中的Bundle Transformer(非MVC)

时间:2017-03-27 09:08:37

标签: asp.net web obfuscation minify bundletransformer

我想缩小和混淆我的Web应用程序(而不是MVC)的javascript文件。我的代码基于这个简单的配置:https://bundletransformer.codeplex.com/discussions/541419,但是 从浏览器查看时,它似乎对js文件没有影响。我不明白Bundle Transformer是否只适用于MVC Web应用程序。我安装了BundleTransformer.Core,BundleTransformer.Yui,Microsoft.AspNet.Web.Optimization。

的Global.asax.cs:

public class BundleConfig
{
    public static void RegisterBundles(BundleCollection bundles)
    {
        var nullOrderer = new NullOrderer();
        var scriptBundle = new CustomScriptBundle("~/jscbundle/");
        scriptBundle.Include("~/js/main.js");
        scriptBundle.IncludeDirectory("~/js/", "*.js", true);
        scriptBundle.Orderer = nullOrderer;
        bundles.Add(scriptBundle);
        BundleTable.EnableOptimizations = true;
    }
}

protected void Application_Start(object sender, EventArgs e)
{
    BundleConfig.RegisterBundles(BundleTable.Bundles);
}

Web.Config中:

<system.web>
  <compilation debug="false" targetFramework="4.5" />
  ...
</system.web>

<bundleTransformer xmlns="http://tempuri.org/BundleTransformer.Configuration.xsd">
  <core>
    <css>
      <minifiers>
        <add name="NullMinifier" type="BundleTransformer.Core.Minifiers.NullMinifier, BundleTransformer.Core" />
        <add name="YuiCssMinifier" type="BundleTransformer.Yui.Minifiers.YuiCssMinifier, BundleTransformer.Yui" />
      </minifiers>
      <translators>
        <add name="NullTranslator" type="BundleTransformer.Core.Translators.NullTranslator, BundleTransformer.Core" enabled="false" />
      </translators>
    </css>
    <js defaultMinifier="YuiJsMinifier">
      <minifiers>
        <add name="NullMinifier" type="BundleTransformer.Core.Minifiers.NullMinifier, BundleTransformer.Core" />
        <add name="YuiJsMinifier" type="BundleTransformer.Yui.Minifiers.YuiJsMinifier, BundleTransformer.Yui" />
      </minifiers>
      <translators>
        <add name="NullTranslator" type="BundleTransformer.Core.Translators.NullTranslator, BundleTransformer.Core" enabled="false" />
      </translators>
    </js>
  </core>
</bundleTransformer>

2 个答案:

答案 0 :(得分:0)

默认情况下,在VS2015以后的普通Asp.net项目中出现Bundle和Minify。

Minify不仅限于MVC,我们可以将它用于任何文件 在Android中,我们可以对整个项目进行模糊处理。

请告诉我您使用的是哪个版本的VS?所以我可以据此提供帮助。

答案 1 :(得分:0)

我建议您阅读Rick Anderson关于将Microsoft ASP.NET Web优化框架与Web FormsWeb Pages一起使用的帖子。