2016-10-30 3 views
1

내 꿀꺽 거리는 작업에서 패키지 꿀꺽 작업을 실행할 수있는 방법이 있습니까? 난 내 자신의 gulpfile 내 get-files 작업 내에서 packageA에서 compile-custom 작업을 실행하려면내 꿀꺽 거리는 작업에서 패키지의 꿀꺽 꿀꺽 한 작업을 실행하십시오.

Root 
| 
|-- Gulpfile.js (task: get-files) 
| 
|-- node_modules 
    | 
    |-- packageA 
      | 
      |-- gulpfile.js (task: compile-custom) 

: 여기 내 파일 구조입니다. 이상적으로는 compile-custom 작업의 콜백을 통해 완료 시점을 알 수 있습니다.

답변

1

특히 node_modules 패키지에서 원하는대로 다른 gulpfile에서 작업을 실행하지 말 것을 권장합니다. 패키지를 변경/업데이트하고 코드를 파손 할 수 있기 때문에 그렇게하지 않으려는 이유가 있습니다.

선호하는 gulpfile 작업을 gulpfile에 복사하여 프로젝트에 통합하거나 gulpfile과 다른 것으로 쉽게 구별 할 수있는 새 파일을 만든 다음이를 요구하여 호출하면됩니다 다른 패키지 및/또는 JS 기능과 마찬가지로 자신의 gulfile에서. 이러한 옵션 중 하나를 사용하여 package.json 파일에 종속 파일을 설치 한 다음 npm install을 실행해야합니다.


참고 : 다음은 완전히 필요한 경우 사용되어야하지만 당신이

gulp.start('taskname')

를 사용할 수 있습니다 꿀꺽 작업 내에서 꿀꺽 작업을 실행합니다. 또한 Gulp v4 (refer to this)의 최신 버전에서는 더 이상 사용되지 않습니다. 작업을 호출하는 방법은 위에서 언급 한 함수를 생성하고 gulpfile에서 해당 함수를 호출하는 것입니다. 꿀꺽 함수 호출의


예 : 함수가 비동기 적으로 무언가를하는 경우

var someFile = require('./someFile.js'); 

gulp.task('my-custom-task', function() { 
    someFile.doSomething('foo', 'bar'); 
}); 

, 그것은 마지막에 콜백을 호출해야합니다, 그래서 꿀꺽 그것이 끝나면 알 수있다 :

var someFile = require('./someFile.js'); 

gulp.task('my-custom-task', function (callback) { 
    someFile.doSomething('foo', 'bar', callback); 
}); 
+0

나는 그 걱정을 이해할 수있다. 내 목표는 이것을 단순화하기 위해 단일 꿀꺽 거리는 작업으로 만드는 것이 었습니다. 필자의 계획은 packageA의'dist' 디렉토리에 파일을 출력하는'packageA'를 실행하는 것이 었습니다. 거기에서 그 파일을 가져 와서 프로젝트의'js' 디렉토리에 넣으므로 동기 호출이 필요합니다. –

+0

호출을 동기화하고 마지막 작업이 언제 완료되었는지 알아야 할 경우 [Run-Sequence Module] (https://www.npmjs.com/package/run-sequence)을 살펴 보는 것이 좋습니다. 당신은 당신이 원하는 순서대로 물건을 넣을 수 있으며, 한 작업을 끝내면 다음 작업으로 넘어갈 순서대로 작동합니다. 어떤 경우에 당신이 원하는 것 같습니다. – CriCri

+0

감사! 이 솔루션의 일부 조합을 시도하고 다시 연락 드리겠습니다. –

관련 문제