我正在创建一个风帆生成器,我想让我的目标动态选择一个模板。我试过这个:
targets: {
'./tests/unit/:entityType/:filename': {
template: scope.entityType + scope.ext,
}
},
然而,当我尝试时,这会引发错误。我也无法在目标对象中使用模板变量。
有没有办法做这样的事情而不必求助于生成器组合(在我的模板目标中调用另一个生成器)?
答案 0 :(得分:1)
scope
通过targets
加载sails-generate
中包含require()
的文件时, before
无法使用,这就是为什么您在尝试时遇到错误的原因直接参考。但是,您可以通过在生成器的before
方法中动态设置目标来执行您正在寻找的内容。所以在你的module.exports.targets["./tests/unit/:entityType/:filename"] = {
template: scope.entityType + scope.ext,
}
中,在调用回调之前,添加如下内容:
targets
还要记得从{{1}}对象中删除硬编码的目标 - 它不会被使用,但可能会让人感到困惑!