2015-03-31 4 views
0

У меня проблема с несколькими объектами в массиве файлов. У меня есть две группы файлов, которые мне нужно выполнить через uglify, один - это один файл, который нужно сжать, а другой - это группа файлов. Проблема заключается в том, что в задаче говорится, что исходные файлы не определены. src и dest те же, что и файлы сжаты на месте - это работало ранее, проблема возникла при вводе шаблонов. Я установил простую задачу тестирования для проверки. Вот задача конфигурации:Исходные файлы Grunt пусты

buildDir: "bin", 
build: { 
    test: { 
     files: [ 
      { 
       src: ["<%= buildDir %>/js/vendor.js"], 
       dest: "<%= buildDir %>/js/vendor.js" 
      }, 
      { 
       expand: true, 
       src: ["<%= buildDir %>/js/**/main.js"], 
       dest: ["<%= buildDir %>/js/**/main.js"] 
      } 
     ] 
    } 
} 

А вот мой простой тест задача:

grunt.registerMultiTask('build', function() { 
    console.log(this.files); // Shows first object only 
    console.log(this.filesSrc); // Blank 
    this.files.forEach(function(file) { 
     grunt.log.writeln("Src: " + file.src); // Blank 
     grunt.log.writeln("Orig: " + file.orig.src); // bin/js/vendor.js 
     file.src.forEach(function(filePath) { 
      grunt.log.write("Checking: " + filePath); 
      if (!grunt.file.exists(filePath)) { 
       grunt.log.warn("Not found!"); 
      } else { 
       grunt.log.warn("File found!"); 
      } 
     }); 
     grunt.log.writeln("Dest: " + file.dest); 
    }); 
    return false; 
}); 

Второй объект в массиве файлов нет вообще внутри задачи, и первый один имеет blank src Недвижимость.

ответ

0

Я понял проблему. Я изменил CWD после объект Files уже сгенерирован, так как это происходит до запуска задачи. Если вы хотите иметь динамический рабочий каталог, вам нужно изменить его в одной задаче, а затем вызвать оставшиеся задания после. Удивительно, что будет делать ночной отдых, чтобы очистить мозг. :)

Смежные вопросы