現在,我有一個ASP.NET應用程序,在aspx文件內的各個點上,我調用插入標準模板HTML的函數。例如:Node.JS令牌替換(相當於在ASP.NET中調用內聯函數)
<html>
<head>
</head>
<body>
<%=SectionHeader('Section title 1') %>
some content for section 1
<%=SectionHeader('Section title 2') %>
some content for section 2
</body>
</html>
因此,無論在SectionHeader函數被調用,它會讀取傳入的參數,並插入節頭中的HTML,如{}稱號。我試圖弄清楚如何在Node中完成同樣的事情。
我明白如何做一個基本的令牌替換 - 讀取一個靜態的HTML文件,尋找一個令牌(例如{token1})並用某種東西代替它。但是使用正則表達式和複雜的字符串操作很少,有什麼方法可以在Node中完成與ASP.NET相同的操作?
我一直在使用快很多(因爲一個月前開始使用),我還在探索它。我閱讀了關於EJS和Jade的所有內容,並且我找不到任何文檔可以解釋我如何實現這一目標。從我理解的方式來看,他們模板化的方式是通過令牌 - 所以您可以說{title},它會用您指定的內容替換{title}的所有實例。我不能在我的生活中發現如何將某種值傳遞給模板引擎,作爲其模板機制的一部分。 – 2013-03-17 20:26:26
在Jade中,您必須具備以下可能性:或者使用mixin來創建「子模板」或擴展另一個jade文件(通常是佈局)以在佈局中渲染塊。您的示例將類似於佈局文件。您可以使用tepmlate來定義可以在佈局中填充佔位符的各種塊。 https://github.com/visionmedia/jade#template-inheritance – topek 2013-03-17 20:41:30
謝謝! mixin正是我一直在尋找的!如果在其他模板引擎中可以使用相同的概念,您是否有機會知道?我只是不習慣使用玉器 – 2013-03-18 00:00:49