Razor view engine для ExpressJS [закрыто]

Я возился с NodeJS, ExpressJS и т.д., и мне бы очень хотелось иметь шаблонизатор, приближенный к Razor-движку ASP.Net MVC для node (jshtml). Мне интересно, знаком ли кто-нибудь с таким зверем или чем-то близким к нему.

Основная функция, которую я хочу получить - это вставки на основе регионов/секций в основной/родительский макет/шаблон, чего, похоже, нет в движках шаблонов для node, которые я видел до сих пор.


-- edit: 2012-02-09 --

По сути, я хочу иметь возможность делать следующее...

_layout.jshtml




  

  
  @ViewBag.Title

  

  @RenderSection("Styles", false)


  

  
@RenderSection("Side", false)
@RenderBody()
@RenderSection("Scripts", false)

mypage.jshtml

@{
  ViewBag.Title = "My Page";
  ViewBag.PageClass = "page-x";
}

@section Styles {
  
}

@section Scripts {
  
}

@section Side {
  side content here
}

main content here

Что является передачей определенных критериев из представления в макет, включая несколько секций. Я не видел примера, как это сделать в Jade или EJS, если это возможно, буду благодарен за понимание.


-- edit: 2012-02-13 --

Похоже, что в ExpressJS 3 + Jade теперь есть ключевые слова "extends" и "block" для определения именно того, что я искал. Пример взят отсюда. Спасибо @Don за его ответ и комментарий.

// my-template.jade
extends my-layout

// only guessing this var will be passed to the layout (testing later)
- var pageTitle = "My Template";
- var pageClass = "my-template";

block styles
  style(type="text/css")

block scripts
  script(src="myscript.js")

block side
  div Side Content Here

block main
  div Main Content Here
//my-layout.jade
doctype 5
html
  head
    title #{pageTitle} - My Site
  body(class=pageClass)
    #side
      block side
    #main
      block main
    block scripts

Я не уверен на 100% в некоторых аспектах выше (а именно в переносе переменных в макет из шаблона... постараюсь уточнить позже.

28
задан Community 23 May 2017 в 11:45
поделиться