使用BundleTransformer.UglifyJs进行Javascript模糊处理

使用BundleTransformer.UglifyJs进行Javascript模糊处理,javascript,model-view-controller,bundle,obfuscation,Javascript,Model View Controller,Bundle,Obfuscation,我只是在我的MVC项目中添加了一个模糊的javascript代码 但结果看起来并不难看: function onDeckenstaerkeChanged(){validateCorrectDeckenstaerke();$("#dropdown-bta").empty();$.each(getBelagtraegerAbstand( 这是my web.config中配置微型服务器的部分: <bundleTransformer xmlns="http://tempuri.org/Bundl

我只是在我的MVC项目中添加了一个模糊的javascript代码

但结果看起来并不难看:

function onDeckenstaerkeChanged(){validateCorrectDeckenstaerke();$("#dropdown-bta").empty();$.each(getBelagtraegerAbstand(
这是my 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="UglifyJsMinifier">
    <minifiers>
      <add name="NullMinifier" type="BundleTransformer.Core.Minifiers.NullMinifier, BundleTransformer.Core" />
      <add name="YuiJsMinifier" type="BundleTransformer.Yui.Minifiers.YuiJsMinifier, BundleTransformer.Yui" />
      <add name="UglifyJsMinifier" type="BundleTransformer.UglifyJs.Minifiers.UglifyJsMinifier, BundleTransformer.UglifyJs" />
    </minifiers>
    <translators>
      <add name="NullTranslator" type="BundleTransformer.Core.Translators.NullTranslator, BundleTransformer.Core" enabled="false" />
    </translators>
  </js>
    </core>
</bundleTransformer>
对我来说,结果看起来是模糊的,但不是模糊的

我错过了什么?结果应该是什么样的

是否有办法调试所使用的模块?

如上所述:

作为JS引擎,JavaScript引擎切换器库被使用。为了正确使用此模块,建议安装以下NuGet软件包之一:或。安装包后,需要将JavaScript引擎的名称(例如MsieJsEngine)设置为/configuration/bundleTransformer/uglify/jsEngine配置元素的name属性

要使bundle transformer UglifyJS正常工作,您需要安装JS引擎,在您的web.config代码段中,我看不到它的定义。因此,请安装或打包

重要的 根据安装的软件包,您必须在V8的web.config代码段末尾手动添加:

...
</core>
  <uglify>
    <jsEngine name="V8JsEngine"></jsEngine>
  </uglify>
</bundleTransformer>
或者对于MsieJsEngine:

...
</core>
  <uglify>
    <jsEngine name="MsieJsEngine"></jsEngine>
  </uglify>
</bundleTransformer>
如上所述:

作为JS引擎,JavaScript引擎切换器库被使用。为了正确使用此模块,建议安装以下NuGet软件包之一:或。安装包后,需要将JavaScript引擎的名称(例如MsieJsEngine)设置为/configuration/bundleTransformer/uglify/jsEngine配置元素的name属性

要使bundle transformer UglifyJS正常工作,您需要安装JS引擎,在您的web.config代码段中,我看不到它的定义。因此,请安装或打包

重要的 根据安装的软件包,您必须在V8的web.config代码段末尾手动添加:

...
</core>
  <uglify>
    <jsEngine name="V8JsEngine"></jsEngine>
  </uglify>
</bundleTransformer>
或者对于MsieJsEngine:

...
</core>
  <uglify>
    <jsEngine name="MsieJsEngine"></jsEngine>
  </uglify>
</bundleTransformer>
onDeckenstaerkeChanged函数是全局函数,因此不处理其名称

你需要让它成为本地的。为此,请将代码包装在立即调用的IIFE函数表达式中:

(function(){
    ...
    function onDeckenstaerkeChanged(){
        ...
    }
    ...
})();
还有另一种变体。如果启用mangling.topLevel选项,则可以混淆所有全局变量。在mangling.except选项中,您可以指定不需要应用模糊处理的变量名称:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <bundleTransformer xmlns="http://tempuri.org/BundleTransformer.Configuration.xsd">
        ...
        <uglify>
            <js ...>
                <mangling topLevel="true" except="$,ko,myVar" />
            </js>
            ...
        </uglify>
        ...
    </bundleTransformer>
</configuration>
onDeckenstaerkeChanged函数是全局函数,因此不处理其名称

你需要让它成为本地的。为此,请将代码包装在立即调用的IIFE函数表达式中:

(function(){
    ...
    function onDeckenstaerkeChanged(){
        ...
    }
    ...
})();
还有另一种变体。如果启用mangling.topLevel选项,则可以混淆所有全局变量。在mangling.except选项中,您可以指定不需要应用模糊处理的变量名称:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <bundleTransformer xmlns="http://tempuri.org/BundleTransformer.Configuration.xsd">
        ...
        <uglify>
            <js ...>
                <mangling topLevel="true" except="$,ko,myVar" />
            </js>
            ...
        </uglify>
        ...
    </bundleTransformer>
</configuration>