[AngularJS + Gulp] Gulp task
In this lesson, we will learn how tasks work in Gulp. We will talk about how to define a task and what each parameter in the definition does. We will see how task dependencies work and talk about how to handle asynchronous issues usingrun-sequence
.
When you run:
gulp
in the command line, it will run the default task.
gulp.task(name[, deps], fn)
gulp.task('somename', function() { // Do stuff });
Because Gulp is asynchronous, this is a sometimes common scenario. One of the ways to solve this is using the run sequence plugins:
npm install --save-dev run-secquence
Define a array of tasks to be run:
gulp.task('copy-build', ['copy-assets','copy-js','copy-vendor-js']); gulp.task('copy-assets', function() { }); gulp.task('copy-js', function() { }); gulp.task('copy-vendor-js', function() { });
Use default task to run build task, in build task, we do clean task first then do the copy-build task.
For the copy-build task, there are three sub-tasks are defined.
When you run async, you need to provide a hint, in our case is callback function. Then gulp know when the main task is finished.
var gulp = require('gulp'), runSequence = require('run-sequence'); //Default task gulp.task('default', function(callback) { runSequence('build', callback); }); gulp.task('build', function(callback) { runSequence('clean', 'copy-build', callback); }); gulp.task('clean', function() { }); gulp.task('copy-build', ['copy-assets','copy-js','copy-vendor-js']); gulp.task('copy-assets', function() { }); gulp.task('copy-js', function() { }); gulp.task('copy-vendor-js', function() { });
So, this is how tasks work in Gulp. You define the name, the sub dependencies and then the actual unit of work while keeping in mind, you have to provide an asynchronous hint, and that's by either returning either a callback, a stream or a promise.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具