我正在使用Cassette来缩小我的 JavaScript。我不希望 Cassette 缩小我的 JavaScript 文件之一,因为它会导致错误。我宁愿使用原始库作者提供的已经缩小的版本。
如何在不缩小文件的情况下将 JavaScript 文件添加到 Cassette?
我正在使用Cassette来缩小我的 JavaScript。我不希望 Cassette 缩小我的 JavaScript 文件之一,因为它会导致错误。我宁愿使用原始库作者提供的已经缩小的版本。
如何在不缩小文件的情况下将 JavaScript 文件添加到 Cassette?
您可以对 Cassette 1.x 使用以下代码来创建不执行任何缩小的 IAssetTransformer
public class NoMinification : IAssetTransformer
{
public NoMinification() {}
public Func<Stream> Transform(Func<Stream> openSourceStream, IAsset asset)
{
return openSourceStream;
}
}
然后更新您的 CassetteConfiguration 以将已经缩小的文件放在它自己的包中,因为您必须为单个包中的所有文件设置缩小器。如果此 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");
});
}
}