0
你可以从一个Yeoman模板中调用一个方法来代替templateData属性通常被注入的地方吗?Yeoman:你能从模板中调用一个方法吗?
我正在寻找在模板内多次生成一个随机guid。在我_Product.xml模板文件,我有: -
<someNode value="<%= randomGuid %>">
<someNode value="<%= randomGuid %>">
<someNode value="<%= randomGuid %>">
<someNode value="<%= randomGuid %>">
<someNode value="<%= randomGuid %>">
然后在我的自耕农发生器我有: -
_buildTemplateData() {
this.templatedata.randomGuid = uuid.v4();
}
writeToDisk() {
this.fs.copyTpl(this.templatePath('_Product.xml'), this.destinationPath('Product.xml'), this.templatedata);
}
而且我希望得到: -
<someNode value="43EE86E4-AC19-4A82-A053-7FE0857AB1F5"/>
<someNode value="7F7184CF-23A7-4383-B5BB-E3A383BC6A0A"/>
<someNode value="5B7A26C1-A449-4B35-94E3-D214C62CEAD7"/>
<someNode value="641D7EC0-AFB1-4646-8B52-5DC71B8FFC50"/>
<someNode value="CEB94BA1-D487-4838-A354-FAFB4D8B188A"/>
但相反,我得到: -
<someNode value="43EE86E4-AC19-4A82-A053-7FE0857AB1F5"/>
<someNode value="43EE86E4-AC19-4A82-A053-7FE0857AB1F5"/>
<someNode value="43EE86E4-AC19-4A82-A053-7FE0857AB1F5"/>
<someNode value="43EE86E4-AC19-4A82-A053-7FE0857AB1F5"/>
<someNode value="43EE86E4-AC19-4A82-A053-7FE0857AB1F5"/>
我知道我可以创建一堆Guid作为templateData的属性,并将它们全部传入,分别引用每个Guid,但是我想避免这种情况,因为我不需要重复使用Product.xml文件之外的guid, d尽可能地减少代码。 我也在找一个类似的函数调用....但这是在这里发布的更基本的例子。
任何想法? 谢谢