Sails.js 帆生成器:可变目标?
我正在创建一个sails生成器,我想让我的目标动态选择一个模板。我试过这个:Sails.js 帆生成器:可变目标?,sails.js,Sails.js,我正在创建一个sails生成器,我想让我的目标动态选择一个模板。我试过这个: targets: { './tests/unit/:entityType/:filename': { template: scope.entityType + scope.ext, } }, 但是,当我尝试时,这会抛出一个错误。我也无法在目标对象中使用模板变量 有没有一种方法可以在不使用生成器组合的情况下执行类似的操作(在我的模板目标中调用另一个生成器)?作用域在目标为的文件由sail
targets: {
'./tests/unit/:entityType/:filename': {
template: scope.entityType + scope.ext,
}
},
但是,当我尝试时,这会抛出一个错误。我也无法在目标对象中使用模板变量
有没有一种方法可以在不使用生成器组合的情况下执行类似的操作(在我的模板目标中调用另一个生成器)?
作用域
在目标为的文件由sails generate
通过require()加载时不可用,这就是为什么在尝试直接引用时会出现错误。但是,您可以通过在生成器的before
方法中动态设置目标来完成所需的工作。因此,在调用回调之前,在之前的中添加如下内容:
module.exports.targets["./tests/unit/:entityType/:filename"] = {
template: scope.entityType + scope.ext,
}
还要记住从目标对象中删除硬编码的目标——它不会被使用,但可能会让人困惑 哇,我没想到你会这么做!虽然,现在我看它,它是完全有道理的。为了获得正确的module.exports
,我可能必须将之前的函数拉回到index.js中,而不是将其放在自己的文件中,但我确信这会起作用。谢谢我想你可以在之前保持的独立性,如果你想获得更多的乐趣,可以使用module.parent.exports
。。。