我有一个文件夹来重建我的数据库,我需要帮助来运行这些文件。我按照Grunt的指南制作了一个"文件"数组(
UIImageView
但我需要使用它将以下grunt命令转换为" foreach"文件:
grunt.initConfig({
logfiles: {
filesObject: {
files: {
'dist/file1.js': ['app/src*.js']
}
},
filesArray: {
files: [{
src: ['app/src*.js'],
dest: 'dist/file1.js'
}]
}
}
});
grunt.registerMultiTask(
'logfiles',
'Log the source-destination mappings in a Grunt multitask',
function() {
this.files.forEach(function(file) {
grunt.log.writeln('File ' + file.dest + ' has the sources ' + file.src);
});
}
);
我遇到的麻烦就是当我注册MultiTask时我似乎无法调用rebuildObjects函数,我必须创建一个Javascript函数,当我注册TaskTask时,我似乎无法填充Files数组
我想把它转换成这样的东西:
rebuildObjects: {
cmd: "sqlcmd "
+ " -S .\\sqlexpress"
+ " -d " + Database
+ " -i file
+ " -v DATABASE_NAME = " + Database
我在这里缺少什么?
答案 0 :(得分:0)
好吧,除非有人有更好的答案,我最后做的是创建一个子任务“logfiles”,我使用grunt.file.write(file.dest,file.src)写入目标
grunt.registerMultiTask(
'logfiles',
'Log the source-destination mappings in a Grunt multitask',
function () {
this.files.forEach(function(file) {
grunt.file.write(file.dest, file.src);
});
}
);
然后我做了这个:
cmd:
function() {
var cmdString = "sqlcmd "
+ " -S .\\sqlexpress"
+ " -d " + Database;
//Create SqlObjects
var array = grunt.file.read("gruntLog/sqlObjects.js").split(",");
if (array.length > 0 && array[0] !== "") {
array.forEach(function(file) {
if (file != undefined)
cmdString += " -i " + file + "";
});
};
cmdString += " -v DATABASE_NAME = " + Database
return cmdString;
}