6

BundleTransformer 是否有任何支持 EcmaScript 6 的 JS 缩小器?我试过安装:

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

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

`Hello ${world}`

我是否遗漏了什么,或者是时候升级到 Node + X 了吗?

4

1 回答 1

2

托莫德!

假设您有以下代码:

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

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

  1. MicrosoftAjaxJsMinifier来自BundleTransformer.MicrosoftAjax。它只是缩小了 ES6 代码。
  2. ClosureLocalJsMinifierBundleTransformer.Closure使用以下配置设置:

    <?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>
    

将进行从 ES6 到 ES3 的转换,然后将 ES3 代码压缩。此外,可以为languageOutput属性设置以下值:EcmaScript5EcmaScript5Strict

于 2016-09-24T11:29:06.863 回答