Javascript 将Swig模板引擎应用于变量的内容
我正在寻找一个过滤器,将Swig模板引擎应用于变量的内容 假设我有以下代码:Javascript 将Swig模板引擎应用于变量的内容,javascript,node.js,swig-template,Javascript,Node.js,Swig Template,我正在寻找一个过滤器,将Swig模板引擎应用于变量的内容 假设我有以下代码: var swig = require("swig"); var str = "{{ hello }}"; var hello = "Hello world"; var contents = "{{ str }} {% raw %}{{ str }}{% endraw %}"; contents = swig.render(contents, { locals: { str: str, hello: hello }}
var swig = require("swig");
var str = "{{ hello }}";
var hello = "Hello world";
var contents = "{{ str }} {% raw %}{{ str }}{% endraw %}";
contents = swig.render(contents, { locals: { str: str, hello: hello }});
console.log(contents);
这将打印以下内容
{{hello}{{str}}
但我希望它打印以下内容
helloworld{{str}}
基本上,我正在寻找一个将Swig引擎应用于str
变量内容的过滤器,如下所示:
{{ str | render }} {% raw %}{{ str }}{% endraw %}
Swig能做到这一点吗?明白了。以下是过滤器:
swig.setFilter('render', function (input, l) {
return swig.render(input, { locals: l });
});
在模板中使用它,如下所示:
"{{ str | render(_ctx) }} {% raw %}{{ str }}{% endraw %}"