(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Вышел Bundle Transformer 1.6.5

Источник: habrahabr
Taritsyn

Логотипы библиотек Bundle Transformer, в которые были добавлены изменения в версии 1.6.5
Основным нововведением в новой версии Bundle Transformer стала поддержка языка TypeScript. Кроме того, были внесены изменения в ядро продукта и в следующие модули: BundleTransformer.MicrosoftAjax, BundleTransformer.Yui и BundleTransformer.Csso.

Рассмотрим основные нововведения данной версии:

Ядро

В BundleTransformer.Core появилась возможность отказаться от использования предварительно минимизированных файлов (например, файлы с расширениями *.min.css и *.min.js) и производить минимизацию кода исключительно средствами выбранного минимизатора. За включение/отключение использования предварительно минимизированных файлов отвечают атрибуты usePreMinifiedFilesконфигурационных элементов css и js. В следующем примере показан код, отключающий использование предварительно минимизированных файлов.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    ...
    <bundleTransformer xmlns="http://tempuri.org/BundleTransformer.Configuration.xsd">
        <core>
            <css usePreMinifiedFiles="false">
                ...
            </css>
            <js usePreMinifiedFiles="false">
                ...
            </js>
            ...
        </core>
        ...
    </bundleTransformer>
    ...
</configuration>

По умолчанию атрибутам usePreMinifiedFiles присвоены значения равные true.

Данная возможность пригодится тем разработчикам, которые хотят применить ко всему CSS- и/или JS-коду своего веб-приложения алгоритмы минимизации, обладающие наивысшей степенью сжатия. Но следует помнить, что некоторые JS-библиотеки не получится сжать без ошибок. Кроме того, объем сжимаемого кода увеличится, что приведет увеличению продолжительности минимизации на лету.

Трансляторы

Bundle Transformer: TypeScript

Модуль BundleTransformer.TypeScript содержит адаптер-транслятор TypeScriptTranslator, производящий трансляцию TypeScript-кода в JavaScript. Если вы еще ничего не слышали о TypeScript, то рекомендую вам прочитать следующие статьи: "TypeScript: язык для разработки больших приложений на JavaScript" Анатолия Ализара и "TypeScript для ASP.NET MVC 4 веб-приложений" Андрея Веселова.

Параметры компиляции TypeScript-кода можно настроить с помощью конфигурационной секции typeScriptв файле Web.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    ...
    <bundleTransformer xmlns="http://tempuri.org/BundleTransformer.Configuration.xsd">
        <typeScript useNativeMinification="false" useDefaultLib="true" 
            propagateConstants="false" errorOnWith="true"
            inferPropertiesFromThisAssignment="false" 
            codeGenTarget="EcmaScript3">
            <style bitwise="false" blockInCompoundStatement="false" 
                eqEqEq="false" forIn="false" emptyBlocks="true" 
                newMustBeUsed="false" requireSemicolons="false" 
                assignmentInConditions="false" eqNull="false" 
                evalOk="true" innerScopeDeclarationsEscape="true" 
                functionsInLoops="true" reDeclareLocal="true" 
                literalSubscript="true" implicitAny="false" />
        </typeScript>
        ...
    </bundleTransformer>
    ...
</configuration>

Названия и возможные значения большего количества свойств совпадают с конфигурационными свойствами исходного компилятора, поэтому я рассмотрю свойства, назначение которых может быть не очевидно:

  • useNativeMinification="(true/false)". Разрешает минимизацию генерируемого JS-кода средствами TypeScript-компилятора. При встроенной минимизации производится удаление пробельных символов и комментариев. Сжатый таким образом код уже не подвергается минимизации средствами модуля-минимизатора, поэтому использовать встроенную минимизацию следует только в случаях, когда по каким-то причинам использование модуля-минимизатора невозможно. Данное конфигурационное свойство управляет сразу двумя свойствами компилятора: minWhitespace иemitComments.
  • useDefaultLib="(true/false)". Разрешает загрузку в компилятор определений общих типов, объявленных в файле lib.d.ts. К общим типам относятся основные типы из ECMAScript, DOM и Windows Script Host.

Чтобы скомпилировать код TS-файла, в котором используются типы, объявленные в других файлах, вам необходимо добавить в код ссылки на эти файлы. Ссылки на файлы добавляются с помощью документирующих тегов <reference> (более подробную информацию о данном теге вы можете прочитать в статье "Облегчаем работу с JS- и CSS-кодом в Visual Studio").

/// <reference path="jquery.d.ts" />
/// <reference path="TranslatorBadge.ts" />

/// <summary>
/// Creates colored badge for translator
/// </summary>
;class ColoredTranslatorBadge extends TranslatorBadge {
    public getTextColor(): string {
        /// <summary>
        /// Gets a text color of badge
        /// </summary>
        /// <returns type="String">
        /// Text color of badge
        /// </returns>
        return this.$linkElem.css("color"); 
    }

    public setTextColor(color: string): void {
        /// <summary>
        /// Sets a text color of badge
        /// </summary>
        /// <param name="color" type="String">
        /// Text color of badge
        /// </param>
        this.$linkElem.css("color", color);
    }

    public getBorderColor(): string {
        /// <summary>
        /// Gets a border color of badge
        /// </summary>
        /// <returns type="String">
        /// Border color of badge
        /// </returns>
        return this.$badgeElem.css("border-color");
    } 

    public setBorderColor(color: string) {
        /// <summary>
        /// Sets a border color of badge
        /// </summary>
        /// <param name="color" type="String">
        /// Border color of badge
        /// </param>
        this.$badgeElem.css("border-color", color);
    }
}

В приведенном выше коде с помощью документирующих тегов <reference> добавляются ссылки на файлыjquery.d.ts и TranslatorBadge.ts.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 08.11.2012 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
VMware Workstation 14 Pro for Linux and Windows, ESD
Quest Software. TOAD for Oracle Edition
IBM DOMINO ENTERPRISE CLIENT ACCESS LICENSE AUTHORIZED USER ANNUAL SW SUBSCRIPTION & SUPPORT RENEWAL
IBM Domino Enterprise Server Processor Value Unit (PVU) License + SW Subscription & Support 12 Months
TeeChart Standard VCL/FMX 2 developer license
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Один день системного администратора
Delphi - проблемы и решения
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100