如何使用循环和控制语句在Javascript中进行高级字符串模板化

kar*_*ivi 6 javascript npm

基本上在运行时我得到一个像下面这样的数组

var colors = ['red', 'green', 'blue'];
Run Code Online (Sandbox Code Playgroud)

我需要像下面这样构建一个JSON字符串

{
    "color" : {
        "name" : "foo",
        "properties" : {
            ...
        }
    },
    "green" : {
        "name" : "foo",
        "properties" : {
            ...
        }
    },
    "blue" : {
        "name" : "foo",
        "properties" : {
            ...
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有任何String模板框架支持循环和控制语句来构建如上所述的JSON字符串

Rak*_*esh 7

您可以尝试使用Nunjucks套餐.它支持javascript和npm库.模板可以声明为follow(将其命名为colors.template):

{
    {% for color in colors %}
    "{{ color }}"  : {
      hashCode : "#CCC"
     }
    {% else %}
    {% endfor %}
}
Run Code Online (Sandbox Code Playgroud)

您可以按如下方式解析json模板:

var nunjucks = require('nunjucks');
nunjucks.configure({ autoescape: true });
var output = nunjucks.render('colors.template', {colors : ['red', 'green', 'blue'] });
Run Code Online (Sandbox Code Playgroud)