2012-12-14 2 views
14

프로젝트에 yeoman을 사용하고 있습니다.같은 이름의 두 가지 잡다한 작업을 어떻게로드 할 수 있습니까?

기본적으로 잘 작동하지만 빌드 프로세스 중에 내 이미지 폴더를 다른 곳으로 옮기고 싶습니다.

그래서 내가 할 수있는 grunt-contrib-copy 작업을로드했습니다. 그러나 불행히도 이것은 내장 된 복사 작업과 충돌합니다.

의 별명을 내 Gruntfile.js에 둘 수 있으므로 둘 다 사용할 수 있습니까?

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'); 

답변

30

grunt.renameTask() 아마 여기에 당신을 도울 것입니다. 사용해보기 :

// 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

감사합니다. 일부 작업은 이전에 특정 작업이 실행되었는지 확인한 후 이름 변경에 대해 알지 못하는 문제가 있지만 -/ – acme

+0

하지만 기존의 yeoman의 작업 이름은 곧바로 변경됩니다. 그렇습니까? –

+0

죄송합니다. 물론 원래 작업의 이름을 바꾸는 일이 중단되었습니다. 물론 당신이 옳습니다. 드미트리 감사합니다! – acme

관련 문제