JavaScript模板引擎?

3

可能是重复问题:
JavaScript中的模板引擎是如何工作的?

我开始学习JavaScript并阅读了各种不同的文章,有一件事我不太确定,那就是什么是JavaScript模板引擎?它们的目的是什么?如果有人能解释一下那就太好了!

谢谢 Kyle

1个回答

5

有不同种类的模板。基本上,它的思想是将一些包含值占位符的字符串作为输入,并使用一些函数将这些占位符替换为实际值。例如:

var str = 'Hello $1';

现在,您可以编写一个JavaScript函数来替换$1:
function printFromTemplate(){
  var args = Array.prototype.slice.call(arguments),
      str = args[0],
      repl = args.slice(1);

  function replacer(a){
     var aa = parseInt(a.substr(1),10)-1;
     return repl[aa];
  }

  return str.replace(/(\$\d+)/g,replacer) );
}

并像这样使用它:

printFromTemplate(str,'world'); //=> Hello world
printFromTemplate('Hello $1, it\'s a really $2 day today','world','sunny'); 
       //|=> Hello world, it's a really sunny day today

[编辑] 在阅读这篇博客文章知名SO访问者的建议后,将匿名替换函数改为命名外部函数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接