(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
Oracle Database Personal Edition Named User Plus Software Update License & Support
Allround Automation PL/SQL Developer - Annual Service Contract - Single user
Stimulsoft Reports.Ultimate Single License Includes one year subscription, source code
IBM RATIONAL Clearcase Floating User License + Sw Subscription & Support 12 Months
Oracle Data Access Components (ODAC) Standard Subscription - single license
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Реестр Windows. Секреты работы на компьютере
СУБД Oracle "с нуля"
Утиль - лучший бесплатный софт для Windows
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Купить часы (3)
Подскажите, где можно купить часы по хорошей цене?
 
Разработка программ базы данных (74)
Написание прикладных компьютерных программ (базы данных) на заказ. Разработка корпоративных...
 
Лучшие букмекерские конторы и бесплатные прогнозы (1)
Мы делаем честные рейтинги букмекерских контор https://superbet.guru/, в основе которых лежит...
 
Легализация покера в Украине. Ваши мнения (1)
Прочел тут тему на портале о покере в Украине https://poker.ua/ , что как бы легалайз. Но куча...
 
Арго на деньги (2)
Интересная и захватывающая игра на деньги в казино Argo https://zerkalo-argo-casino.site/ это...
 
 
 



    
rambler's top100 Rambler's Top100