我试图在运行中混淆我们的 JavaScript 包的输出并遇到了bundletransformer(一个使用 YUI 压缩器的捆绑扩展),但没有成功实现它!到目前为止,通过阅读提供的文档,我在 RegisterBundles 方法中编写了以下代码:
var nullBuilder = new NullBuilder();
var cssTransformer = new CssTransformer();
var yuiSettings = new BundleTransformer.Yui.Configuration.YuiSettings();
yuiSettings.JsMinifier.ObfuscateJavascript = true;
var jsTransformer = new JsTransformer();
var nullOrderer = new NullOrderer();
var scriptBundle = new CustomScriptBundle("~/jscbundle/").Include(
"~/Assets/Scripts/jquery.js",
"~/Assets/Scripts/jquery-ui.js");
scriptBundle.Builder = nullBuilder;
scriptBundle.Orderer = nullOrderer;
scriptBundle.Transforms.Add(jsTransformer);
bundles.Add(scriptBundle);
以及 web.config 中的以下代码:
<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" usePreMinifiedFiles="true">
<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>
<yui>
<css compressionType="Standard" removeComments="true" lineBreakPosition="-1" />
<js compressionType="Standard" obfuscateJavascript="true" preserveAllSemicolons="false" disableOptimizations="false" ignoreEval="false" severity="0" lineBreakPosition="-1" encoding="UTF8" threadCulture="en-us" />
</yui>
从捆绑输出来看,我可以推断它不仅没有被混淆,而且压缩根本没有生效!我在网上找不到任何示例,并尝试在这里和那里更改一些设置,但没有运气!所以我很无知,任何解决方案或建议都将不胜感激。提前致谢!