Gulp快速入门教程

news/2024/9/17 15:50:37

Gulp是基于流的前端自动化的构建工具,虽说如今是webpack盛行的时代,但是gulp和webpack整合效果更美味的,鱼与熊掌都可兼得哦!本文只介绍下Gulp的基本使用和一些常用的Gulp插件,废话不多说,一起来看看吧。

gulp

安装Gulp

Gulp是依赖Node的,这里假设你已经安装好了Node,首先我们全局安装一下Gulp:

npm install -g gulp

全局安装完成后,我们再切换到项目的要目录下,执行:

//- 生成一个 package.json,里面是一些常规的配置信息
npm init//- 局部安装 Gulp,并生成包依赖信息于 package.json 内的 devDependencies
npm install gulp --save-dev

安装Gulp插件

Gulp的任务都是以插件的形式存在的,所以在使用前,需要先安装我们用到的插件到项目目录内,插件的安装命令:

// 多个插件可以用空格分隔
npm install 插件名 --save-dev

Gulp常用插件

  • gulp-rename:重命名文件
  • gulp-concat:合并文件
  • gulp-filter:过滤文件
  • gulp-uglify:压缩Js
  • gulp-csso:压缩优化CSS
  • gulp-html-minify:压缩HTML
  • gulp-imagemin:压缩图片
  • gulp-zip:zip压缩文件
  • gulp-autoprefixer:自动为css添加浏览器前缀
  • gulp-rev:给静态资源文件名添加hash值 unicorn.css => unicorn-d41d8cd98f.css
  • gulp-sass:编译sass
  • gulp-babel:将ES6代码编译成ES5

配置Gulp

我们需要在根目录下创建一个gulpfile.js文件来配置Gulp,将所有的插件加载进来,文件名必须要是gulpfile.js,否则无论执行,下面是一个gulpfile的示例:

var gulp    = require('gulp');
var gutil   = require('gulp-util');
var uglify  = require('gulp-uglify');
var concat  = require('gulp-concat');// 通过 require() 载入我们需要用到的插件~ gulp.task('concat', function () {gulp.src('./scripts/*.js').pipe(uglify()).pipe(concat('jkd.min.js')).pipe(gulp.dest('./build/js'));
});gulp.task('default', ['concat']);

运行Gulp

配置好gulpfile.js文件后,我们就可以运行Gulp进行相关的任务了,使用Gulp命令操作:

// 运行默认的 default task
gulp// 仅运行 concat 这一个 task
gulp concat// 运行结果如下:
D:\SVN\wap\m>gulp
[12:03:13] Using gulpfile D:\SVN\wap\m\gulpfile.js
[12:03:13] Starting 'concat'...
[12:03:13] Finished 'concat' after 9.1 ms
[12:03:13] Starting 'default'...
[12:03:13] Finished 'default' after 11 μsD:\SVN\wap\m>gulp concat
[12:03:25] Using gulpfile D:\SVN\wap\m\gulpfile.js
[12:03:25] Starting 'concat'...
[12:03:25] Finished 'concat' after 9.54 ms

Gulp API

// 定义一个 task,声明它的名称, 任务依赖, 和任务内容.
gulp.task(name[, deps], fn)// 读取文件,参数为文件路径字符串或数组, 支持通配符.
gulp.src(globs[, options])// 写入文件, 作为pipe的一个流程.文件夹不存在时会被自动创建.
gulp.dest(path[, options])// 监控文件,执行任务.
gulp.watch(glob [, opts], tasks) or gulp.watch(glob [, opts, cb])

Gulp详细API的说明可以查看gulp API docs

最后,附上原文地址:http://www.zcbboke.com/1705.html


http://lihuaxi.xjx100.cn/news/238358.html

相关文章

ssh框架实现数据库_自顶向下介绍SSH及其如何实现安全的数据共享

ssh框架实现数据库by Sam Ollason通过萨姆奥拉森(Sam Ollason) This article will take a high-level and top-down approach to explain how SSH works and how it is used for securely communicating with remote computers.本文将采用一种自上而下的高级方法来解释SSH的工…

并非所有区块链都生来平等:找到正确的共识算法

现在知道更多区块链技术,请百度【链客区块链技术问答社区】 链客,有问必答!!关于共识算法的信息很难找到,即使它们构成了区块链技术的主干。这些算法对于确保分布式分类账平稳运行至关重要,没有它们&#x…

微服务项目的整合与测试

实验目的 掌握微服务项目的整合使用 掌握Swagger-UI的简单使用 练习内容 1、微服务项目整合 1.1、项目预览 1.1.1、在 https://github.com/shi469391tou/microservice-mallmanagement.git 地址下载,并导入Myeclipse中; 1.1.2、查看项目的结构 1.2、…

单点登录与权限管理本质:session和cookie介绍

本篇开始写「单点登录与权限管理」系列的第一部分:单点登录与权限管理本质,这部分主要介绍相关的知识概念、抽象的处理过程、常见的实现框架。通过这部分的介绍,能够对单点登录与权限管理有整体上的了解,对其相关概念、处理流程、…

如何在区块链中创建块

想知道更多关于区块链技术知识,请百度【链客区块链技术问答社区】 链客,有问必答!!这里我们讨论的是区块链。区块链上所定义的协议不仅是要交易数据而且还要交易数据的价值。目前的主要方式是在互联网出现之前发明的,它…

CSS-in-JS的权衡

by Oleg Isonen由Oleg Isonen CSS-in-JS的权衡 (The tradeoffs of CSS-in-JS) Recently I wrote a higher level overview of CSS-in-JS, mostly talking about the problems this approach is trying to solve. Library authors rarely invest time into describing the trad…

微服务项目的部署

练习目标 掌握Docker Compose编排工具的使用掌握微服务项目与Docker的整合方式掌握微服务项目的部署方式 项目整合参考:https://blog.csdn.net/qq_37823605/article/details/91379272 练习内容 1、Docker Compose编排工具 1.1、Docker Compose的安装与卸载 1.1…

优雅的理解 call 和 apply 的使用方法

作者在看到一篇优雅的使用 js 的各种方法解决算法的时候产生的疑问,到底什么时候使用 apply 和 call 啦? 每次看到别人用 apply 和 call 其实从以前的懵懵懂懂到现在的明白,但是自己从来未下手去用过,最近比较闲。开始打一下 Jav…