Использование Кассеты V2 для компиляции шаблонов Шаблоны jsRender и KnockoutJS

Я переезжаю на версию 2 кассеты.

Но в Интернете я ничего не нашел, чтобы помочь мне настроить кассету для компиляции шаблонов HTML.

Шаблоны

Некоторые шаблоны jQuery Templates как:

<div class="modal fade" tabindex="-1" role="dialog" aria-labelledby="header" aria-hidden="true">
    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
        <h3 id="header">${header}</h3>
    </div>
    <div class="modal-body">
        {{html body}}
    </div>
    <div class="modal-footer">
        <button class="btn" data-dismiss="modal">${CancelText}</button>
        <button class="btn ${ClassBtn}">${ConfirText}</button>
    </div>
</div>

Я скоро изменю их для использования jsRender!

Другие как KnockoutJS

<div class="span2">
    <div class="data-block">
        <h4 data-bind="text: Total"></h4>
        <h6>
            <span data-bind="text: Passo.Nome"></span>
            <small class="muted" data-bind="text: Passo.Responsavel">Riderman de Sousa</small>
        </h6>
    </div>
</div>

IConfiguration<BundleCollection> учебный класс

bundles.AddPerSubDirectory<HtmlTemplateBundle>("HtmlTemplates", b => b.Pipeline = ??? );

1 ответ

Я действительно нашел ответ, с v2 все отделено. Поэтому, если вы используете Less, вы должны получить пакет nuget Cassette.Less. То же самое с элементами TMPL.

1) Получить пакет Nuget: http://nuget.org/packages/Cassette.KnockoutJQueryTmpl/2.0.0

2) Конфигурация:

public class CassetteConfiguration : IConfiguration<BundleCollection>
{
    readonly KnockoutJQueryTmplPipeline pipeline;

    public CassetteConfiguration(KnockoutJQueryTmplPipeline pipeline)
    {
        this.pipeline = pipeline;
    }

    public void Configure(BundleCollection bundles)
    {
        bundles.Add<StylesheetBundle>("Content", new FileSearch { Pattern = "*.css;*.less", SearchOption = System.IO.SearchOption.AllDirectories });
        bundles.Add<ScriptBundle>("Scripts");
        bundles.AddPerIndividualFile<ScriptBundle>("Content/js");

        bundles.Add<HtmlTemplateBundle>("HtmlTemplates", new FileSearch { Pattern = "*.htm" }, b => b.Pipeline = pipeline);
    }
}

3) Ссылка на комплект в вашем представлении

Bundles.Reference("HtmlTemplates");
Другие вопросы по тегам