Есть ли какие-нибудь минифайеры BundleTransformer JS, которые поддерживают ES6?
Существуют ли JS minifiers для BundleTransformer, которые поддерживают EcmaScript 6? Я попытался установить:
- BundleTransformer.Closure
- BundleTransformer.YUI
- BundleTransformer.UglifyJs
Но ни один из них не поддерживает синтаксис строковых шаблонов ES6, например:
`Hello ${world}`
Я что-то упустил или пришло время перейти на Node + X?
1 ответ
Tormod!
Предположим, у вас есть следующий код:
var world = 123;
alert(`Hello ${world}`);
Только два мини-фильтра от Bundle Transformer могут обработать его:
MicrosoftAjaxJsMinifier
от https://www.nuget.org/packages/BundleTransformer.MicrosoftAjax/. Это просто минимизирует код ES6.ClosureLocalJsMinifier
из https://www.nuget.org/packages/BundleTransformer.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
Атрибут может быть задан следующими значениями: EcmaScript5
а также EcmaScript5Strict
,