我想允许最终用户通过允许他们指定一个模板字符串来进行一些自定义,该模板字符串在填充了用户可访问变量的对象的上下文中进行评估。但是,我看到有人对此表示担忧。我只需要让用户访问定义值的打印。允许他们调用代码是不必要的,只会给一个小功能增加太多的复杂性。
我需要的唯一功能的伪代码:
var userTemplate = "{{Persons.Total}} persons including {{Persons.First}}";
var variables = { Persons { Total: 10, First: "Bob" } };
return template(userTemplate, variables); // = "10 persons including Bob"
是否有任何“用户安全”的模板库?还是我应该自己用一堆正则表达式来做?