Javascript 将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 }}

我正在寻找一个过滤器,将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 }});
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 %}"