JavaScriptを縮小するためにCassetteを使用しています。エラーの原因となっているため、CassetteにJavaScriptファイルの1つを縮小させたくありません。私はむしろ、元のライブラリの作者によって提供されたすでに縮小されたバージョンを使用したいと思います。
ファイルを縮小せずにJavaScriptファイルをCassetteに追加するにはどうすればよいですか?
JavaScriptを縮小するためにCassetteを使用しています。エラーの原因となっているため、CassetteにJavaScriptファイルの1つを縮小させたくありません。私はむしろ、元のライブラリの作者によって提供されたすでに縮小されたバージョンを使用したいと思います。
ファイルを縮小せずにJavaScriptファイルをCassetteに追加するにはどうすればよいですか?
カセット1.xの次のコードを使用して、縮小を実行しないIAssetTransformerを作成できます。
public class NoMinification : IAssetTransformer
{
public NoMinification() {}
public Func<Stream> Transform(Func<Stream> openSourceStream, IAsset asset)
{
return openSourceStream;
}
}
次に、CassetteConfigurationを更新して、すでにミニファイされたファイルを独自のバンドルに配置します。これは、すべてのファイルのミニファイアを1つのバンドルに設定する必要があるためです。このjavascriptファイルが別のファイルに依存している場合は、カセットによって縮小され、独自のバンドルになります。コメント欄に示すように、.AddReferenceを使用できます。
public class CassetteConfiguration : ICassetteConfiguration
{
public void Configure(BundleCollection bundles, CassetteSettings settings)
{
//So, we set a no-op minifier for this bundle and force it into it's own bundle.
bundles.Add<ScriptBundle>("Scripts/already-minified-file.min.js", b => {
b.Processor = new ScriptPipeline { Minifier = new NoMinification() };
//b.AddReference("~/Scripts/dependent-scripts.js");
});
}
}