循环grunt任务通过forEach复制具有数组长度的任务

时间:2015-07-18 14:44:34

标签: javascript arrays gruntjs grunt-contrib-copy

无法通过Grunt JS任务运行器获得正确的解决方案,所以这是我的问题。

目标:多次复制任务。次数是数组的长度。在数组中,有"名称"我用它来构建文件夹上复制文件的路径(源和目的地)。

我正在尝试使用复制任务(grunt-contrib-copy)。

我能够获取数据到复制任务但不能在正确的位置:src有时是空的,有时是错的。对于dest文件夹也是如此。

我怀疑我的Javascript出现了问题,或者说它无法实现(将这些参数传递给grunt复制任务或其他任务......)

    grunt.config(['copy'], {
  themeCss : {
      files: (function() {
        var arr = ["site1","site2","site3"];
        var out = {};
        arr.forEach(function (element, index){
          var src = 'srcfolder/' + arr[index] + '/theme.css';
          var dest = 'destfolder/' + arr[index];
          out[src] = src;
          out[dest] = dest;
        });
          return out;
      }())
    },
}),

1 个答案:

答案 0 :(得分:2)

当我找到你的问题时,我正在寻找几乎完全一样的东西。通过一些调整,我得到了它的工作。试试这个:

grunt.config(['copy'], {
   themeCss : {
      files: (function() {
         var arr = ["site1","site2","site3"];
         var out = [];
         arr.forEach(function (element, index){
            var src = 'srcfolder/' + arr[index] + '/theme.css';
            var dest = 'destfolder/' + arr[index];
            out.push({
               src: src,
               dest: dest
            });
         });
         return out;
      })()
   }
})