JavaScript中的模板引擎如何工作?

Ran*_*ent 5 javascript

能否请您解释一下,JavaScript中的模板引擎如何工作?谢谢.

JSON

{ "color" : "red"}
Run Code Online (Sandbox Code Playgroud)

模板

<strong><%=color%></strong>
Run Code Online (Sandbox Code Playgroud)

结果

<strong>Red</strong>
Run Code Online (Sandbox Code Playgroud)

CMS*_*CMS 8

作为一个起点,我建议你看一下String.prototype.replace方法,特别是使用它的回调函数:

function replaceTokens(str, replacement) {
  return str.replace(/<\%=([^%>]+)\%>/g, function (str, match) {
    return replacement[match];
  });
}

var input = "<strong><%=color%></strong>";
replaceTokens(input, { "color" : "Red"}); 
// returns <strong>Red</strong>

replaceTokens("<%=var1%> <%=var2%>", { "var1" : "Hello", "var2": "world!"});
// returns "Hello world!"
Run Code Online (Sandbox Code Playgroud)

看看这些文章:


Jus*_*ner 2

它们可能因实现而异,但您所讨论的看起来可以通过执行以下操作来实现:

  1. 解析页面寻找<%= %>标签中的键

  2. 将键与 JSON 中的键/值对进行匹配

  3. 将标签/键替换为值。