{{위키데이터 속성 추적}}
{{소문자}}
{{소프트웨어 정보
| logo           = Gulp.js Logo.svg
| logo size      = 100px
| developer      = Fractal, 깃허브 커뮤니티의 기여자들
| latest release version = 4.0.2
| latest_release_date    = {{시작 날짜와 나이|2019|05|06|df=yes}}<ref name="latest-releases">{{웹 인용| url=https://github.com/gulpjs/gulp/releases | access-date=2020-12-31 | title=Releases · gulpjs/gulp}}</ref>
| language = [[자바스크립트]]
| genre = [[Toolkit]]
| platform       = [[크로스 플랫폼]]
| license                = [[MIT 허가서]]<ref>{{웹 인용|url=https://github.com/gulpjs/gulp/blob/master/LICENSE|title=License to github.com | language=en | accessdate = 2016-05-30}}</ref>
|name=gulp
}}
'''gulp'''는 Fractal Innovations과<ref name=":0">{{서적 인용|title=Developing a Gulp Edge|publisher=Bleeding Edge Press|year=2014|isbn=978-1-939902-14-6|edition=1st|location=|pages=|via=|author1=Jed Mao |author2=Maximilian Schmitt |author3=Tomasz Stryjewski |author4=Cary Country Holt |author5=William Lubelski }}</ref> [[깃허브]] 오픈 소스 커뮤니티의 [[오픈 소스 소프트웨어|오픈 소스]] [[자바스크립트]] 툴킷으로, [[프론트엔드 웹 개발]]의 스트리밍 [[빌드 자동화|빌드 시스템]]으로 사용된다.

[[Node.js]]와 [[npm]] 기반의 태스크 러너이며, [[소형화]], 연결(concatenation), 캐시 버스팅(cache busting), [[유닛 테스트]], [[린트 (소프트웨어)|린팅]], 최적화 등 웹 개발에 수반되는 시간 소모적이고 반복되는 태스크들을 자동화하기 위해 사용된다.<ref>{{웹 인용|url=https://www.smashingmagazine.com/2014/06/building-with-gulp/ |title=Building With Gulp – Smashing Magazine |website=Smashingmagazine.com |date= |accessdate=2016-12-14}}</ref>

gulp는 구성보다 코드(code-over-configuration) 접근 방식을 사용하여 태스크를 정의하며 이것들을 수행하기 위해 크기가 작은 단일 목적의 플러그인에 의존한다. gup 생태계는 300개 이상의 플러그인이 포함되어 있다.<ref>{{웹 인용|url=https://gulpjs.com/plugins/ |title=gulp.js plugin registry |website=Gulpjs.com |date= |accessdate=2016-12-14}}</ref>

== gulpfile의 해부 ==
gulpfile은 모든 동작이 gulp에 정의되는 장소이다. gulpfile는 최상위에 필요 플러그인이 포함되어 있으며, 끝부분에는 태스크의 정의와 기본 태스크가 위치한다.<ref name="sitepoint.com">{{웹 인용|url=https://www.sitepoint.com/introduction-gulp-js/|title=An Introduction to Gulp.js - SitePoint|date=2014-02-10|language=en-US|access-date=2016-09-23}}</ref>

=== 플러그인 ===
<syntaxhighlight lang="javascript">
//Adding dependencies
var gulp = require ('gulp');
var gutil = require ('util-gulp');
</syntaxhighlight>

=== 태스크 ===
<syntaxhighlight lang="javascript">
//Defining tasks
gulp.task ( 'taskName', function () {
//do something
});
</syntaxhighlight>

<syntaxhighlight lang="javascript">
function fn1 () {
// do something
}

function fn2 () {
// Do something else
}

// Task with array of function names
gulp.task ( 'taskName', ['fn1','fn2']);
</syntaxhighlight>

=== 기본 태스크 ===
<syntaxhighlight lang ="javascript">
// Gulp default task
gulp.task ( 'default', [ '']);

</syntaxhighlight>

== 같이 보기 ==
* [[그런트]]
== 각주 ==
{{각주}}

== 참고 문헌 ==
*{{서적 인용|title=Developing a Gulp Edge|publisher=Bleeding Edge Press|year=2014|isbn=978-1-939902-14-6|edition=1st|location=|pages=|via=|author1=Jed Mao |author2=Maximilian Schmitt |author3=Tomasz Stryjewski |author4=Cary Country Holt |author5=William Lubelski }}
*{{서적 인용| author=Den Odell | title=Pro JavaScript Development Coding, Capabilities, and Tooling | publisher=Apress |year=2014 |chapter=Build Tools and Automation |isbn=978-1-4302-6268-8}}
*{{서적 인용|title=Getting Started with Gulp|last=Maynard|first=Travis|publisher=Packt Publishing Ltd|year=2015|isbn=9781784393472|location=|pages=|via=}}

== 외부 링크 ==
* {{공식 웹사이트}}
* {{GitHub|gulpjs/gulp|gulp}}

[[분류:자바스크립트 프로그래밍 도구]]