2012-12-14 26 views
14

Im przy użyciu yeoman dla projektu.Jak mogę załadować dwa zadania zadawania o tej samej nazwie?

Zasadniczo działa dobrze, ale w trakcie procesu kompilacji chcę przenieść folder obrazów do innego miejsca.

Załadowałem więc zadanie grunt-contrib-copy, które pozwoliło mi to zrobić. Ale niestety jest to sprzeczne z wbudowanym zadaniem kopiowania.

Czy istnieje sposób na pseudonim grunt-contrib-copy w moim Gruntfile.js, więc mogę korzystać z nich obu?

grunt.loadNpmTasks('grunt-contrib-copy'); 

//Here I need to use "copy" again but not referencing the yeoman task but the grunt-contrib-copy task. 
grunt.registerTask('build','intro clean coffee compass mkdirs concat css min replace copy time'); 

Odpowiedz

30

grunt.renameTask() prawdopodobnie Ci w tym pomoże. Wypróbuj to:

// temporarily rename yeoman's copy task 
grunt.renameTask('copy', 'yeomanCopy'); 
// load 'copy' from grunt-contrib-copy 
grunt.loadNpmTasks('grunt-contrib-copy'); 
// rename it to something other than 'copy' 
grunt.renameTask('copy', 'myCopy'); 
// rename yeoman's task back to its original name so nothing breaks 
grunt.renameTask('yeomanCopy', 'copy'); 

// now use 'myCopy' for your purposes 
// ... 
+0

Dzięki, to działa! Chociaż mam problem z tym, że niektóre zadania sprawdzają, czy pewne zadanie zostało wykonane wcześniej i nie wiem o zmianie ich nazwy: -/ – acme

+0

Ale zmieniacie nazwę istniejącego zadania od razu, prawda? –

+0

Ups, przestałem zmieniać nazwę oryginalnego zadania, oczywiście masz rację. Dziękuję Dmitry! – acme

Powiązane problemy