我正在使用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");
        });
    }
}

关于javascript - 阻止Cassette缩小JavaScript文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12980458/

10-11 19:46
查看更多