Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sails.js 帆生成器:可变目标?_Sails.js - Fatal编程技术网

Sails.js 帆生成器:可变目标?

Sails.js 帆生成器:可变目标?,sails.js,Sails.js,我正在创建一个sails生成器,我想让我的目标动态选择一个模板。我试过这个: targets: { './tests/unit/:entityType/:filename': { template: scope.entityType + scope.ext, } }, 但是,当我尝试时,这会抛出一个错误。我也无法在目标对象中使用模板变量 有没有一种方法可以在不使用生成器组合的情况下执行类似的操作(在我的模板目标中调用另一个生成器)?作用域在目标为的文件由sail

我正在创建一个sails生成器,我想让我的目标动态选择一个模板。我试过这个:

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
。。。