Yeoman循环在模板中

时间:2016-03-10 19:15:45

标签: javascript typescript yeoman yeoman-generator

我试图使用yeoman来获取这个JSON文件:

{
  "models": {
    "user": {
      "properties": [
        {
          "name": {
            "type": "string"
          },
          "surname": {
            "type": "string"
          },
          "id": "number"
        }
      ]
    }
  }
}

把它变成类似的东西:

Class User {
  name : string
  surname : string
  id : number
}

是否可以在模板中进行某种形式的循环?这就是我的想法...

  export class <%= entityName %> extends Model   {
      <% forEach (property in props) { %>
         <%= property.name %> : <% property.type %>;
      <% } %>
  }

2 个答案:

答案 0 :(得分:6)

模板语言可以运行任何JS代码。因此,只需在数组(for

上使用常规arr.forEach()循环或迭代方法
export class <%= entityName %> extends Model   {
    <% for (property in props) { %>
         <%= property.name %> : <% property.type %>;
    <% } %>
}

Yeoman正在使用ejs作为模板引擎。访问他们的网站了解更多information on the supported features

答案 1 :(得分:-1)

我不认为你可以在模板中使用这种循环。您可以做的是在脚本文件中使用helper方法将json文件中的内容生成为变量,然后将该变量添加到模板中。