특히 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);
});
나는 그 걱정을 이해할 수있다. 내 목표는 이것을 단순화하기 위해 단일 꿀꺽 거리는 작업으로 만드는 것이 었습니다. 필자의 계획은 packageA의'dist' 디렉토리에 파일을 출력하는'packageA'를 실행하는 것이 었습니다. 거기에서 그 파일을 가져 와서 프로젝트의'js' 디렉토리에 넣으므로 동기 호출이 필요합니다. –
호출을 동기화하고 마지막 작업이 언제 완료되었는지 알아야 할 경우 [Run-Sequence Module] (https://www.npmjs.com/package/run-sequence)을 살펴 보는 것이 좋습니다. 당신은 당신이 원하는 순서대로 물건을 넣을 수 있으며, 한 작업을 끝내면 다음 작업으로 넘어갈 순서대로 작동합니다. 어떤 경우에 당신이 원하는 것 같습니다. – CriCri
감사! 이 솔루션의 일부 조합을 시도하고 다시 연락 드리겠습니다. –