gpt4 book ai didi

gruntjs:在多任务配置中为所有目标使用具有动态映射的文件一次

转载 作者:行者123 更新时间:2023-12-02 03:47:42 25 4
gpt4 key购买 nike

在我的多任务中,我想为文件 配置属性使用动态映射

files: [
{
expand: true, // Enable dynamic expansion.
cwd: 'lib/', // Src matches are relative to this path.
src: ['**/*.js'], // Actual pattern(s) to match.
dest: 'build/', // Destination path prefix.
},
]

是否可以为所有目标指定一次"file"属性(并且它们将被扩展)以避免冗余?所有目标都使用相同的文件结构和相同的文件

类似于:

taskName: {
target1: { prop1:1 },
target2: { prop1:2 },
files: [
{
expand: true, // Enable dynamic expansion.
cwd: 'li...
...
}
]
}

我可以在“选项”属性中写入文件,但之后我需要手动调用该文件的扩展函数。

谢谢

[编辑]

用于测试:

grunt.registerMultiTask('taskname', 'im looking for files', function () {
grunt.log.writeflags(this.files, 'this.files');
console.log('this.files'.yellow, this.files); //double check ;)
});

最佳答案

我发现的解决方案是使用grunt.file.expandMapping 方法以编程方式生成文件 数组

grunt.config

'taskname': {
target1: { prop1:1 },
target2: { prop1:2 },

options: {
defProperty: "defValue",
dFiles: { //default files object
cwd: 'lib/', // Src matches are relative to this path.
src: ['**/*.js'], // Actual pattern(s) to match.
dest: 'build/' // Destination path prefix.
//any other property if you need (e.g. flatten, ext)
}
}

taskname.js

grunt.registerMultiTask('taskname', 'im looking for files', function () {

var curTask = this,
opts = curTask.options();

if (!curTask.files.length && 'dFiles' in opts) {
var df = opts.dFiles;

curTask.files = grunt.file.expandMapping(df.src, df.dest , df);
}

console.log('this.files: '.yellow, this.files);

});

关于gruntjs:在多任务配置中为所有目标使用具有动态映射的文件一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15927368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com