2014-10-07 2 views
0

Я пытаюсь использовать grunt-concurrent, чтобы минимизировать мои файлы javascript параллельно. Я также использую usemin и ngmin.uglify with grunt-concurrent not working

Когда я использую уродовать без ворчания-параллельного ввод получить ожидаемый результат с этим выводом журнала:

Running "uglify:dist" (uglify) task 

Running "uglify:dist/scripts/jquery_and_angular.js" (uglify) task 
File dist/scripts/jquery_and_angular.js created. 

Running "uglify:dist/scripts/external-non-angular-libraries.js" (uglify) task 
File dist/scripts/external-non-angular-libraries.js created. 

Running "uglify:dist/scripts/modules.js" (uglify) task 
File dist/scripts/modules.js created. 

Running "uglify:dist/scripts/scripts.js" (uglify) task 
File dist/scripts/scripts.js created. 

Но когда я пытаюсь выполнить эти задачи, используя пехотинец-параллельно с этой конфигурацией:

concurrent: { 
     lessAndMinify: [ 
      'ngmin', 
      'less' 
     ], 
     uglify: [ 
      'uglify:dist/scripts/jquery_and_angular.js', 
      'uglify:dist/scripts/external-non-angular-libraries.js', 
      'uglify:dist/scripts/modules.js', 
      'uglify:dist/scripts/scripts.js', 
      'uglify:dist/scripts/templates.js' 
     ] 
    }, 

я получаю сообщение, что эти задачи не сконфигурированные:

Running "concurrent:uglify" (concurrent) task 
Warning: Running "uglify:dist/scripts/jquery_and_angular.js" (uglify) task 
Verifying property uglify.dist/scripts/jquery_and_angular\.js exists in config...ERROR 
>> Unable to process task. 
Warning: Required config property "uglify.dist/scripts/jquery_and_angular\.js" missing. Use --force to continue. 

Aborted due to warnings. Used --force, continuing. 

Running "uglify:dist/scripts/jquery_and_angular.js" (uglify) task 
Verifying property uglify.dist/scripts/jquery_and_angular\.js exists in config...ERROR 
>> Unable to process task. 
Warning: Required config property "uglify.dist/scripts/jquery_and_angular\.js" missing. Use --force to continue. 

Aborted due to warnings. 
    Warning: Running "uglify:dist/scripts/modules.js" (uglify) task 
Verifying property uglify.dist/scripts/modules\.js exists in config...ERROR 
>> Unable to process task. 
Warning: Required config property "uglify.dist/scripts/modules\.js" missing. Use --force to continue. 

Aborted due to warnings. Used --force, continuing. 

Running "uglify:dist/scripts/modules.js" (uglify) task 
Verifying property uglify.dist/scripts/modules\.js exists in config...ERROR 
>> Unable to process task. 
Warning: Required config property "uglify.dist/scripts/modules\.js" missing. Use --force to continue. 

Моя конфигурация задача сборки IST это:

grunt.registerTask('build', [ 
    'clean:dist', 
    'ngtemplates', 
    'copy:indexHtml', 
    'replace', 
    'useminPrepare', 
    'concat', 
    'copy:dist', 
    'copy:generated', 
    'concurrent:lessAndMinify', // ngmin and less 
// 'concurrent:uglify', 
    'uglify', 
    'rev', 
    'usemin' 
]); 

Вопрос в том, как я могу использовать хрюкать-параллельного с уродовать и usemin/ngmin?

ответ

0

usemin добавляет задания для uglify на лету, но они по какой-либо причине не видны в хрюка-параллельном. Чтобы решить эту проблему, необходимо вручную добавить файлы в уродовать:

uglify: { 
     dist: { 
      options: { 
       sourceMap: true 
      }, 
      files: { 
      } 
     }, 

     // you have to add this manually! 
     "dist/scripts/jquery_and_angular.js": "dist/scripts/jquery_and_angular.js", 
     "dist/scripts/external-non-angular-libraries.js": "dist/scripts/external-non-angular-libraries.js", 
     "dist/scripts/modules.js": "dist/scripts/modules.js", 
     "dist/scripts/scripts.js": "dist/scripts/scripts.js", 
     "dist/scripts/templates.js": "dist/scripts/templates.js" 
    }, 

Проблема заключается в том, что это не сухая. вам нужно настроить его в index.html, в grunt-concurrent и здесь, в uglify ..