首页 > 其他 > 详细

gulp快速入门

时间:2020-03-21 16:05:37      阅读:81      评论:0      收藏:0      [点我收藏+]

安装gulp命令行工具

技术分享图片
npm install global gulp-cli
npx mkdir demo
cd demo
npm init
View Code

安装gulp

技术分享图片
npm i -D gulp
gulp --version
View Code

创建gulpfile.js

技术分享图片
function defaultTask(cb) {
  cb()
}

exports.default = defaultTask
View Code

测试

技术分享图片
gulp
View Code

gulpfile

  运行gulp命令时文件会自动加载,核心API,src(),dest(),series(),parallel()

创建任务

  每个gulp任务都是一个异步的JS函数,此函数可以接受callback作为参数的函数,或者是一个返回stream,promise等类值函数

  公开任务

    从gulpfile中被导出(export),可以通过gulp命令直接调用

  私有任务

    被设计为内部使用,通常为series或者parallel组合的组成部分

技术分享图片
const { series } = require(gulp)

// 私有任务, 可以用被用在series()组合中
const clean = function(cb) {
  console.log(clean)
  cb()
}
// 公共任务, 函数通过export导出,因此可以通过gulp调用,当然也可以被用在series()组合中
const build = function(cb) {
  console.log(build)
  cb()
}

exports.build = build
exports.default = series(clean, build)

// console
// gulp build
// gulp 
View Code

组合任务

  gulp提供2个组合方法:series()和parallel()

  series:让任务按顺序执行

  parallel:希望以最大并发来运行任务

  这2个组合方法可以互相嵌套,可以嵌套任意深度

技术分享图片
const { series, parallel } = require(gulp);

function clean(cb) {
  console.log(clean)
  cb();
}

function cssTranspile(cb) {
  console.log(cssTranspile)
  cb();
}

function cssMinify(cb) {
  console.log(cssMinify)
  cb();
}

function jsTranspile(cb) {
  console.log(jsTranspile)
  cb();
}

function jsBundle(cb) {
  console.log(jsBundle)
  cb();
}

function jsMinify(cb) {
  console.log(jsMinify)
  cb();
}

function publish(cb) {
  console.log(publish)
  cb();
}

exports.build = series(
  clean,
  parallel(
    cssTranspile,
    series(jsTranspile, jsBundle)
  ),
  parallel(cssMinify, jsMinify),
  publish
)
View Code
技术分享图片
const { series, parallel } = require(gulp)

const clean = function(cb) {
  console.log(clean)
  cb()
}

const css = function(cb) {
  console.log(css)
  cb()
}

const script = function(cb) {
  console.log(script)
  cb()
}

exports.build = series(clean, parallel(css, script))
View Code

任务通知

  series()组合多个任务时,任何一个错误会导致整个任务组合结束,并且不会进一步执行其他任务

  paralle()与之相反,任何一个错误不会导致整个任务组合结束,其他任务可能执行完毕,也可能没执行完

 

gulp快速入门

原文:https://www.cnblogs.com/sonwrain/p/12539362.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!