{"id":14982088,"url":"https://github.com/platform-cuf/use-gulp","last_synced_at":"2025-04-04T10:09:07.538Z","repository":{"id":47053821,"uuid":"42217535","full_name":"Platform-CUF/use-gulp","owner":"Platform-CUF","description":"gulp资料收集","archived":false,"fork":false,"pushed_at":"2017-07-28T05:57:18.000Z","size":70,"stargazers_count":841,"open_issues_count":0,"forks_count":218,"subscribers_count":83,"default_branch":"master","last_synced_at":"2025-04-04T10:09:02.289Z","etag":null,"topics":["gulp","learning-gulp"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Platform-CUF.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-09-10T02:40:25.000Z","updated_at":"2025-03-02T18:50:26.000Z","dependencies_parsed_at":"2022-08-23T18:11:33.656Z","dependency_job_id":null,"html_url":"https://github.com/Platform-CUF/use-gulp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Platform-CUF%2Fuse-gulp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Platform-CUF%2Fuse-gulp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Platform-CUF%2Fuse-gulp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Platform-CUF%2Fuse-gulp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Platform-CUF","download_url":"https://codeload.github.com/Platform-CUF/use-gulp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247157283,"owners_count":20893220,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gulp","learning-gulp"],"created_at":"2024-09-24T14:04:45.601Z","updated_at":"2025-04-04T10:09:07.516Z","avatar_url":"https://github.com/Platform-CUF.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# use-gulp\n\n#### 为什么使用gulp?\n首先看一篇文章 [Gulp的目标是取代Grunt](http://www.infoq.com/cn/news/2014/02/gulp)\n\u003e根据gulp的文档，它努力实现的主要特性是：\n\u003e   - 易于使用：采用代码优于配置策略，gulp让简单的事情继续简单，复杂的任务变得可管理。\n\u003e   - 高效：通过利用node.js强大的流，不需要往磁盘写中间文件，可以更快地完成构建。\n\u003e   - 高质量：gulp严格的插件指导方针，确保插件简单并且按你期望的方式工作。\n\u003e   - 易于学习：通过把API降到最少，你能在很短的时间内学会gulp。构建工作就像你设想的一样：是一系列流管道。\n\n\u003e Gulp通过**流和代码优于配置**策略来尽量简化任务编写的工作。\n\n别的先不说，通过代码来比较两者（gulp VS grunt）\n可以参照我的代码，也可以阅读[该文章] (http://www.techug.com/gulp)。\n\n- [Gruntfile.js](https://github.com/hjzheng/angular-cuf-nav/blob/master/Gruntfile.js)\n- [gulpfile.js](https://github.com/hjzheng/html2js-gulp-for-cuf/blob/master/gulpfile.js)\n\n两者的功能基本类似，gulp是通过代码完成任务，体现了代码优于配置的原则，对程序员更加友好，另外它也可以将多个功能一次性串起来，不需要暂存在本地，体现了对流的使用，这个可以阅读[该文章](http://www.techug.com/gulp)里的例子。\n\n另外，经常会有人问，为什么gulp比grunt快，这个可以参考这篇[文章](http://jaysoo.ca/2014/01/27/gruntjs-vs-gulpjs/) 或者我本人在segmentfault上得回答[编译同样的scss，为什么gulp的速度几乎是grunt的两倍?](http://segmentfault.com/q/1010000003951849/a-1020000003952258)\n\n#### 关于NodeJS流(stream)\n因为gulp是基于流的方式工作的，所以想要进一步深入gulp，我们应该先学习NodeJS的流, 当然即使对流不熟悉，依然可以很方便的使用gulp。\n  - 资料\n    - [NodeSchool stream-adventure](https://github.com/substack/stream-adventure)\n    - [stream-handbook](https://github.com/substack/stream-handbook)\n  - 相关视频\n    - [How streams help to raise Node.js performance](https://www.youtube.com/watch?v=QgEuZ52OZtU\u0026list=PLPlAdM3UjHKok9rS8_RTQTSLtRBThk1ni\u0026index=2)\n    - [Node.js streams for the utterly confused](https://www.youtube.com/watch?v=9llfAByho98\u0026index=1\u0026list=PLPlAdM3UjHKok9rS8_RTQTSLtRBThk1ni)\n\n#### 常用资料\n- Gulp官网 http://gulpjs.com/\n- Gulp中文网 http://www.gulpjs.com.cn/\n- Gulp中文文档 https://github.com/lisposter/gulp-docs-zh-cn\n- Gulp插件网 http://gulpjs.com/plugins/\n- Awesome Gulp https://github.com/alferov/awesome-gulp\n- StuQ-Gulp实战和原理解析 http://i5ting.github.io/stuq-gulp/\n- glob用法 https://github.com/isaacs/node-glob\n\n\n#### gulp常用插件\n\n- **流控制**\n  - [event-stream](http://www.atticuswhite.com/blog/merging-gulpjs-streams/) 事件流，不是插件但很有用 \n  - [gulp-if](https://github.com/robrich/gulp-if) 有条件的运行一个task\n  - [gulp-clone](https://github.com/mariocasciaro/gulp-clone) Clone files in memory in a gulp stream 非常有用\n  - [vinyl-source-stream](https://github.com/hughsk/vinyl-source-stream) Use conventional text streams at the start of your gulp or vinyl pipelines \n\n- **AngularJS**\n  - [gulp-ng-annotate](https://github.com/Kagami/gulp-ng-annotate) 注明依赖 for angular\n  - [gulp-ng-html2js](https://github.com/marklagendijk/gulp-ng-html2js) html2js for angular\n  - [gulp-angular-extender](https://libraries.io/npm/gulp-angular-extender) 为angular module添加dependencies\n  - [gulp-angular-templatecache](https://github.com/miickel/gulp-angular-templatecache) 将html模板缓存到$templateCache中\n\n- **文件操作**\n  - [gulp-clean](https://github.com/peter-vilja/gulp-clean)  删除文件和目录, 请用[del](https://github.com/sindresorhus/del)来代替它[Example](https://github.com/hjzheng/CUF_meeting_knowledge_share/tree/master/2015-11-10)\n  - [gulp-concat](https://github.com/wearefractal/gulp-concat) 合并文件\n  - [gulp-rename](https://github.com/hparra/gulp-rename) 重命名文件\n  - [gulp-order](https://github.com/sirlantis/gulp-order) 对src中的文件按照指定顺序进行排序\n  - [gulp-filter](https://github.com/sindresorhus/gulp-filter) 过滤文件 非常有用 [Example](https://github.com/hjzheng/CUF_meeting_knowledge_share/blob/master/2015-11-10/gulpfile.js)\n  - [gulp-flatten](https://github.com/armed/gulp-flatten) 当拷贝文件时，不想拷贝目录时使用 [segmentfault](http://segmentfault.com/q/1010000004266922)\n\n- **压缩**\n  - [gulp-clean-css](https://github.com/scniro/gulp-clean-css)压缩css\n  - [gulp-uglify](https://github.com/terinjokes/gulp-uglify) 用uglify压缩js\n  - [gulp-imagemin](https://github.com/sindresorhus/gulp-imagemin) 压缩图片\n  - [gulp-htmlmin](https://github.com/jonschlinkert/gulp-htmlmin) 压缩html\n  - [gulp-csso](https://github.com/ben-eb/gulp-csso) 优化CSS\n\n\n- **工具**\n  - [gulp-load-plugins](https://github.com/jackfranklin/gulp-load-plugins) 自动导入gulp plugin\n  - [gulp-load-utils](https://www.npmjs.com/package/gulp-load-utils) 增强版gulp-utils\n  - [gulp-task-listing](https://github.com/OverZealous/gulp-task-listing) 快速显示gulp task列表\n  - [gulp-help](https://github.com/chmontgomery/gulp-help) 为task添加帮助描述\n  - [gulp-jsdoc3](https://github.com/mlucool/gulp-jsdoc3) 生成JS文档\n  - [gulp-plumber](https://github.com/floatdrop/gulp-plumber) Prevent pipe breaking caused by errors from gulp plugins [Example](https://github.com/hjzheng/CUF_meeting_knowledge_share/tree/master/2015-11-10)\n  - [yargs](https://github.com/bcoe/yargs) 处理 process.argv\n  - [run-sequence](https://github.com/OverZealous/run-sequence) 顺序执行 gulp task，gulp 4.0 已经支持该功能 `gulp.series(...tasks)`\n  - [gulp-notify](https://github.com/mikaelbr/gulp-notify) gulp plugin to send messages based on Vinyl Files\n  - [gulp-shell](https://github.com/sun-zheng-an/gulp-shell) 非常有用\n  - [gulp-grunt](https://github.com/gratimax/gulp-grunt) 在gulp中运行grunt task\n\n- **JS/CSS自动注入**\n  - [gulp-usemin](https://github.com/zont/gulp-usemin) Replaces references to non-optimized scripts or stylesheets into a set of HTML files\n  - [gulp-inject](https://github.com/klei/gulp-inject) 在HTML中自动添加style和script标签 [Example](https://github.com/hjzheng/CUF_meeting_knowledge_share/tree/master/2015-8-17/bower-dependence-inject)\n  - [wiredep](https://github.com/taptapship/wiredep) 将bower依赖自动写到index.html中 [Example](https://github.com/hjzheng/CUF_meeting_knowledge_share/tree/master/2015-8-17/bower-dependence-inject)\n  - [gulp-useref](https://github.com/jonkemp/gulp-useref) 功能类似与usemin [Example](https://github.com/hjzheng/CUF_meeting_knowledge_share/tree/master/2015-8-17/bower-dependence-inject) 新版本用法有变化，详见gulp-useref的README.md\n\n- **代码同步**\n  - [browser-sync](https://github.com/BrowserSync/browser-sync) 自动同步浏览器，结合gulp.watch方法一起使用 [Example 1](https://github.com/hjzheng/CUF_meeting_knowledge_share/tree/master/2015-5-30/gulp-babel-test) [Example 2](https://github.com/hjzheng/es6-practice/blob/master/gulpfile.js)\n  - [gulp-nodemon](https://github.com/JacksonGariety/gulp-nodemon) server端代码同步\n\n- **Transpilation**\n  - [gulp-babel](https://github.com/babel/gulp-babel) 将ES6代码编译成ES5   [Example](https://github.com/hjzheng/CUF_meeting_knowledge_share/tree/master/2015-5-30/gulp-babel-test)\n  - [babelify](https://github.com/babel/babelify)  Browserify transform for Babel\n  - [gulp-traceur](https://github.com/sindresorhus/gulp-traceur)  Traceur is a JavaScript.next-to-JavaScript-of-today compiler \n\n- **打包**\n  - [gulp-browserify](https://www.npmjs.com/package/gulp-browserify)  用它和 babelify 实现ES6 module [Example](https://github.com/hjzheng/CUF_meeting_knowledge_share/tree/master/2015-5-30/gulp-es6-module)\n\n- **编译**\n  - [gulp-less](https://github.com/plus3network/gulp-less)  处理less [Example](https://github.com/hjzheng/CUF_meeting_knowledge_share/tree/master/2015-7-23/gulp-less-bootstrap)\n  - [gulp-sass](https://github.com/dlmanning/gulp-sass) 处理sass\n\n- **代码分析**\n  - [gulp-jshint](https://github.com/spalger/gulp-jshint) JSHint检查 [Example](https://github.com/hjzheng/CUF_meeting_knowledge_share/tree/master/2015-11-10)\n  - [gulp-jscs](https://github.com/jscs-dev/gulp-jscs) 检查JS代码风格 [Example](https://github.com/hjzheng/CUF_meeting_knowledge_share/tree/master/2015-11-10)\n\n- **特别推荐**\n  - [gulp-changed](https://github.com/sindresorhus/gulp-changed) 只传输修改过的文件\n  - [gulp-cached](https://github.com/wearefractal/gulp-cached) 将文件先cache起来，先不进行操作\n  - [gulp-remember](https://github.com/ahaurw01/gulp-remember) 和gulp-cached一块使用\n  - [gulp-newer](https://github.com/tschaub/gulp-newer) pass through newer source files only, supports many:1 source:dest\n\n- **其他**\n  - [webpack-stream](https://github.com/shama/webpack-stream) gulp与webpack [Example](https://github.com/hjzheng/angular-es6-practice/blob/master/gulp/scripts.js)\n  - [gulp-autoprefixer](https://github.com/sindresorhus/gulp-autoprefixer)  Prefix CSS\n  - [gulp-sourcemaps](https://github.com/floridoo/gulp-sourcemaps) 生成source map文件\n  - [gulp-rev](https://github.com/sindresorhus/gulp-rev) Static asset revisioning by appending content hash to filenames: unicorn.css → unicorn-d41d8cd98f.css \n  - [gulp-rev-replace](https://github.com/jamesknelson/gulp-rev-replace) [Example](https://github.com/hjzheng/CUF_meeting_knowledge_share/tree/master/2015-11-10)\n  - [gulp-iconfont](https://github.com/nfroidure/gulp-iconfont) 制作iconfont [Example](https://github.com/hjzheng/CUF_meeting_knowledge_share/tree/master/2015-7-24/gulp-test-iconfont)\n  - [gulp-svg-symbols](https://github.com/Hiswe/gulp-svg-symbols) 制作SVG Symbols, [关于使用SVG Symbol](http://isux.tencent.com/zh-hans/16292.html)\n  - [gulp-template](https://github.com/sindresorhus/gulp-template) 模板替换\n  - [gulp-dom-src](https://github.com/cgross/gulp-dom-src) 将html中的script，link等标签中的文件转成gulp stream。\n  - [gulp-cheerio](https://github.com/KenPowers/gulp-cheerio) Manipulate HTML and XML files with Cheerio in Gulp. \n  - [require-dir](https://www.npmjs.com/package/require-dir) 利用它我们可以将 gulpfile.js 分成多个文件，具体用法可以参考这个[Splitting a gulpfile into multiple files](http://macr.ae/article/splitting-gulpfile-multiple-files.html)\n  - [gulp-nodemon](https://github.com/JacksonGariety/gulp-nodemon) 强烈推荐, 监控你的node应用,并重现启动server\n\n#### gulp入门视频 \n\n- **Learning Gulp** (youtube)\n  - [Learning Gulp #1 - Installing \u0026 Introducing Gulp ](https://www.youtube.com/watch?v=wNlEK8qrb0M)\n  - [Learning Gulp #2 - Using Plugins \u0026 Minifying JavaScript](https://www.youtube.com/watch?v=Kh4eYdd8O4w)\n  - [Learning Gulp #3 - Named Tasks ](https://www.youtube.com/watch?v=YBGeJnMrzzE)\n  - [Learning Gulp #4 - Watching Files With Gulp ](https://www.youtube.com/watch?v=0luuGcoLnxM)\n  - [Learning Gulp #5 - Compiling Sass With Gulp ](https://www.youtube.com/watch?v=cg7lwX0u-U0)\n  - [Learning Gulp #6 - Keep Gulp Running With Plumber ](https://www.youtube.com/watch?v=rF6niaDKcxE)\n  - [Learning Gulp #7 - Handling Errors Without Plumber ](https://www.youtube.com/watch?v=o24f4imRbxQ)\n  - [Learning Gulp #8 - LiveReload With Gulp ](https://www.youtube.com/watch?v=r5fvdIa0ETk)\n  - [Learning Gulp #9 - Easy Image Compression](https://www.youtube.com/watch?v=oXxMdT7T9qU)\n  - [Learning Gulp #10 - Automatic Browser Prefixing ](https://www.youtube.com/watch?v=v259QplNDKk)\n  - [Learning Gulp #11 - Gulp Resources \u0026 What's Next ](https://www.youtube.com/watch?v=vGCzovUFBIY)\n\n- **Get started with gulp**(youtube)\n  - [Get started with gulp Part 1: Workflow overview and jade templates](https://www.youtube.com/watch?v=DkRoa2LooNM\u0026index=8\u0026list=PLhIIfyPeWUjoySSdufaqfaSLeQDmCCY3Q)\n  - [Get started with gulp Part 2: gulp \u0026 Browserify](https://www.youtube.com/watch?v=78_iyqT-qT8\u0026index=9\u0026list=PLhIIfyPeWUjoySSdufaqfaSLeQDmCCY3Q)\n  - [Get started with gulp Part 3: Uglify \u0026 environment variables](https://www.youtube.com/watch?v=gRzCAyNrPV8\u0026index=10\u0026list=PLhIIfyPeWUjoySSdufaqfaSLeQDmCCY3Q)\n  - [Get started with gulp Part 4: SASS \u0026 CSS minification](https://www.youtube.com/watch?v=O_0S6Z9FIKM\u0026index=11\u0026list=PLhIIfyPeWUjoySSdufaqfaSLeQDmCCY3Q)\n  - [Get started with gulp Part 5: gulp.watch for true automation](https://www.youtube.com/watch?v=nsMsFyLGjSA\u0026list=PLhIIfyPeWUjoySSdufaqfaSLeQDmCCY3Q\u0026index=12)\n  - [Get started with gulp Part 6: LiveReload and web server](https://www.youtube.com/watch?v=KURMrW-HsY4\u0026list=PLhIIfyPeWUjoySSdufaqfaSLeQDmCCY3Q\u0026index=13)\n\n- **Gulp in Action** (慕课网)\n  - [Gulp in Action(一)](http://www.imooc.com/video/5692)\n  - [Gulp in Action(二)](http://www.imooc.com/video/5693)\n  - [Gulp in Action(三)](http://www.imooc.com/video/5694)\n\n- **BGTSD** (youtube)\n  - [BGTSD - Part 20: Gulp and Babel Basics ](https://www.youtube.com/watch?v=Mo2xqBPbnlQ)\n  - [BGTSD - Part 21: TypeScript and Gulp Basics ](https://www.youtube.com/watch?v=5Z82cpVP_qo)\n\n- **John Papa**(付费)\n  - [JavaScript Build Automation With Gulp.js](http://www.pluralsight.com/courses/javascript-build-automation-gulpjs)\n\n#### gulp精彩文章\n- [Using GulpJS to Generate Environment Configuration Modules](http://www.atticuswhite.com/blog/angularjs-configuration-with-gulpjs/)\n- [Introduction to Gulp.js](http://stefanimhoff.de/2014/gulp-tutorial-1-intro-setup/)\n- [Merging multiple GulpJS streams into one output file](http://www.atticuswhite.com/blog/merging-gulpjs-streams/)\n- [Getting ES6 modules working thanks to Browserify, Babel, and Gulp](http://advantcomp.com/blog/ES6Modules/)\n- Gulp学习指南系列：\n  - [Gulp学习指南之入门](http://segmentfault.com/a/1190000002768534)\n  - [Gulp学习指南之CSS合并、压缩与MD5命名及路径替换](http://segmentfault.com/a/1190000002932998)\n- [6 Gulp Best Practices](http://blog.rangle.io/angular-gulp-bestpractices/?utm_source=javascriptweekly\u0026utm_medium=email) :star:\n  - Automate all Imports (gulp-inject, wiredep, useref and angular-file-sort)\n  - Understand directory structure requirements \n  - Provide distinct development and production builds  (browser-sync)\n  - Inject files with gulp-inject and wiredep ( gulp-inject and wiredep )\n  - Create production builds with gulp-useref (gulp-useref)\n  - Separate Gulp tasks into multiple files ```require('require-dir')('./gulp')```\n- [Gulp 范儿 -- Gulp 高级技巧](http://csspod.com/advanced-tips-for-using-gulp-js/) :star:\n- [Gulp 错误管理](http://csspod.com/error-management-in-gulp/) :star:\n- [探究Gulp的Stream](http://segmentfault.com/a/1190000003770541) :star:\n- [Gulp安装及配合组件构建前端开发一体化](http://www.dbpoo.com/getting-started-with-gulp/)\n- [Gulp入门指南](https://github.com/nimojs/gulp-book)\n- [Gulp入门指南 - nimojs](https://github.com/nimojs/blog/issues/19)\n- [Gulp入门教程](http://markpop.github.io/2014/09/17/Gulp%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B/)\n- [Gulp开发教程（翻译）](http://www.w3ctech.com/topic/134)\n- [Gulp：任务自动管理工具 - ruanyifeng](http://javascript.ruanyifeng.com/tool/gulp.html)\n- [BrowserSync — 你值得拥有的前端同步测试工具](http://segmentfault.com/a/1190000003787713)\n- [Essential Plugins for Gulp](http://ipestov.com/essential-plugins-for-gulp/) :star:\n- [10 things to know about Gulp](http://engineroom.teamwork.com/10-things-to-know-about-gulp/?utm_source=javascriptweekly\u0026utm_medium=email) :star:\n- [Writing a gulp plugin](https://github.com/gulpjs/gulp/blob/master/docs/writing-a-plugin/README.md) :star:\n- [Gulp Plugin 开发](https://segmentfault.com/a/1190000000704549) :star:\n- [前端 | 重构 gulpfile.js](https://segmentfault.com/a/1190000002880177)\n- [gulp使用经验谈](http://www.qiqiboy.com/post/61)\n- [Splitting a gulpfile into multiple files](http://macr.ae/article/splitting-gulpfile-multiple-files.html) :star:\n- [Make your Gulp modular](http://makina-corpus.com/blog/metier/2015/make-your-gulp-modular)\n- [gulp 传参数 实现定制化执行任务](http://yijiebuyi.com/blog/d64c5d28eb539941bf3b855d333850cc.html) 使用 `gulp.env`\n\n#### gulp和ES6\n- [在gulp中使用ES6](http://segmentfault.com/a/1190000004136053) :star:\n- [Using ES6 with gulp](https://markgoodyear.com/2015/06/using-es6-with-gulp/)\n\n#### gulp和babelify\n- [Example](https://gist.github.com/hjzheng/0ff59d37aa23fbd831e081138c6f24f9)\n\n#### debug gulp task\n- [Debugging Gulp.js Tasks](http://www.greg5green.com/blog/debugging-gulp-js-tasks/)\n- [Debug command line apps like Gulp](https://github.com/s-a/iron-node/blob/master/docs/DEBUG-NODEJS-COMMANDLINE-APPS.md)\n\n#### gulp项目结构应用实例\n- [gulp-AngularJS1.x-seed](https://github.com/hjzheng/gulp-AngularJS1.x-seed) :star: 自己写的一个开发环境(gulp + AngularJS1.x)\n- [gulp模式](https://github.com/johnpapa/gulp-patterns) \n- [gf-skeleton-angularjs](https://github.com/gf-rd/gf-skeleton-angularjs)\n- [generator-hottowel](https://github.com/johnpapa/generator-hottowel)\n- [generator-gulp-angular](https://github.com/swiip/generator-gulp-angular#readme)\n- [generator-gulper](https://github.com/leaky/generator-gulper)\n\n#### gulp常见问题 [segmentfault之gulp](http://segmentfault.com/t/gulp?type=newest)\n\n- [如何拷贝一个目录?](http://stackoverflow.com/questions/25038014/how-do-i-copy-directories-recursively-with-gulp)\n```js\ngulp.src([ files ], { \"base\" : \".\" })\n```\n\n#### gulp 4.0 相关\n目前 gulp 4.0 还没有正式release，先推荐几篇文章让大家热热身。\n\n- [Gulp 4.0 前瞻](http://segmentfault.com/a/1190000002528547)\n- [Gulp 4.0 API 文档](https://github.com/cssmagic/blog/issues/55)\n- [是时候升级你的gulp到4.0了](http://www.alloyteam.com/2015/07/update-your-gulp/)\n- [Migrating to gulp 4 by example](https://blog.wearewizards.io/migrating-to-gulp-4-by-example)\n\n不定期更新中 ... ...\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplatform-cuf%2Fuse-gulp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplatform-cuf%2Fuse-gulp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplatform-cuf%2Fuse-gulp/lists"}