
Bundle Transformerの新しいバージョンの主な革新は、 TypeScript言語のサポートになりました。 さらに、製品コアと次のモジュールに変更が加えられました:BundleTransformer.MicrosoftAjax、BundleTransformer.Yui、およびBundleTransformer.Csso。
このバージョンの主な革新を検討してください。
コア
BundleTransformer.Coreには、以前に最小化されたファイル(拡張子が
*.min.css
および
*.min.js
ファイルなど)の使用を拒否し、選択した
*.min.js
のみを使用してコードを最小化する機会があります。
css
および
js
構成要素の
usePreMinifiedFiles
属性は、事前に最小化されたファイルの使用を有効化/無効化する役割を果たします。 次の例は、事前に最小化されたファイルの使用を無効にするコードを示しています。
<?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
設定されてい
true
。
この機能は、WebアプリケーションのCSSやJSコード全体に最高の圧縮率で最小化アルゴリズムを適用したい開発者に役立ちます。 ただし、一部のJSライブラリはエラーなしで圧縮できないことに注意してください。 さらに、圧縮可能なコードの量が増加するため、その場で最小化の期間が長くなります。
翻訳者
バンドルトランスフォーマー:TypeScript
BundleTransformer.TypeScriptモジュールには、TypeScriptコードをJavaScriptに変換する
TypeScriptTranslator
トランスレーターアダプターが含まれています。 TypeScriptについて聞いたことがない場合は、 Anatoly Alizarによる「TypeScript:大規模なJavaScriptアプリケーションを開発するための言語」およびAndrey Veselovによる「ASP.NET MVC 4 Webアプリケーション 用のTypeScript」の記事を読むことをお勧めします。
TypeScriptコンパイルオプションは、
Web.config
ファイルの
typeScript
構成セクションを使用して構成できます。
<?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)"
。 TypeScriptコンパイラを使用して、生成されたJSコードを最小化できます。 組み込みの最小化により、空白とコメントが削除されます。 この方法で圧縮されたコードは、最小化モジュールによって最小化されないため、組み込みの最小化の使用は、何らかの理由で最小化モジュールの使用が不可能な場合にのみ行う必要があります。 この構成プロパティは、2つのコンパイラプロパティminWhitespace
とemitComments
を一度に制御します。 -
useDefaultLib="(true|false)"
。 ファイルlib.d.ts
宣言されたジェネリック型のコンパイラ定義にロードできますlib.d.ts
一般的なタイプには、ECMAScript、DOM、およびWindows Script Hostのコアタイプが含まれます。
他のファイルで宣言された型を使用するTSファイルのコードをコンパイルするには、コードでこれらのファイルへのリンクを追加する必要があります。 ファイルへのリンクは、ドキュメントタグ
<reference>
を使用して追加されます(このタグの詳細については、 「Visual StudioでJSとCSSを使いやすくする」を参照してください)。
/// <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
ファイルが追加されます。
ミニマイザー
バンドルトランスフォーマー:Microsoft Ajax
BundleTransformer.MicrosoftAjaxモジュールでは、 Microsoft Ajax Minifierライブラリがバージョン4.69に更新されました。
バンドルトランスフォーマー:YUI
BundleTransformer.Yuiでは、 YUI Compressor for .Netライブラリがバージョン2.1.0.0に更新されました。
バンドルトランスフォーマー:CSSO
BundleTransformer.Csso( x86 、 x64 )では、 CSSOミニマイザーコードがバージョン1.3.4に更新されました。