javascript 解析模板 - 本机方式?

javascript parse template - native way?

如何从字符串或标签解析和评估模板:(相同)
<script type="template">hello {{person.name}}</script>

var person = {name: "foo"}

以浏览器本机的方式?
到目前为止,我想出的唯一方法是多次使用 s.replace("{{person.name}}", person.name) ,但这似乎不方便且效率低下。

我特别想知道已知的库(angular、下划线、小胡子等)是如何做到的。即,他们在其中使用 javascript 个函数。

那里有库可以做到,但是在 ES6 中它是内置的,它称为 Template_literals

语法是

let name = "Bob";
let halloBob = `Hello ${name}`

如果你的目标是 ES5,那么你应该使用像

这样的库

http://handlebarsjs.com/

但是除了车把还有很多,我找到了这个博客post,如何在 20 LOC 中编写自己的模板库:

http://krasimirtsonev.com/blog/article/Javascript-template-engine-in-just-20-line