是否有支持ES6的BundleTransformer JS minifiers?

时间:2016-06-06 06:39:07

标签: javascript asp.net-mvc-4 bundling-and-minification bundletransformer

是否有支持EcmaScript 6的BundleTransformer的JS minifiers?我试过安装:

  • BundleTransformer.Closure
  • BundleTransformer.YUI
  • BundleTransformer.UglifyJs

但似乎都没有处理ES6的字符串模板语法,例如:

`Hello ${world}`

我错过了什么,或者是时候升级到Node + X了吗?

1 个答案:

答案 0 :(得分:2)

Tormod!

假设您有以下代码:

var world = 123;
alert(`Hello ${world}`);

Bundle Transformer中只有两个缩小器可以处理它:

    来自BundleTransformer.MicrosoftAjax
  1. MicrosoftAjaxJsMinifier。它只是缩小了ES6代码。
  2. 来自BundleTransformer.Closure
  3. ClosureLocalJsMinifier具有以下配置设置:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      …
      <bundleTransformer xmlns="http://tempuri.org/BundleTransformer.Configuration.xsd">
        …
        <closure>
          <js>
            …
            <local closureCompilerApplicationPath="…"
              javaVirtualMachinePath="…"
              languageInput="EcmaScript6" languageOutput="EcmaScript3" />
            …
          </js>
        </closure>
        …
      </bundleTransformer>
      …
    </configuration>
    
  4. 将完成从ES6到ES3的转换,然后将缩小ES3代码。此外,languageOutput属性可以设置以下值:EcmaScript5EcmaScript5Strict