博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gulp入门学习
阅读量:5112 次
发布时间:2019-06-13

本文共 2589 字,大约阅读时间需要 8 分钟。

一、gulp简介

    gulp是一个自动化构建工具。在开发过工程中,能够使用gulp对项目进行自动构建,大大提高工作效率。

二、安装gulp

    在安装gulp之前先要确认已经正确安装了node.js,然后在项目根目录下安装gulp:

    $ npm install gulp

三、gulp函数接口介绍

    在编写gulp配置文件gulpfile之前,需要先了解常见的函数接口:

1. gulp.src()

    gulp的工作过程是这样的,首先通过gulp.src()获取我们想要处理的文件的stream(文件流);然后,通过.pipe方法将stream导入到引用的gulp插件中进行相应的处理;最后通过gulp.dest()方法将处理后的流写入到文件中。

    从gulp工作过程中可以看到,gulp.src()主要用来从文件中获取文件流。gulp.dest()函数原型如下:

gulp.src(globs[, options]

    globs是文件的匹配路径和匹配形式。下面列举了部分常用的匹配形式:

(1)js/test.js    //精确匹配文件

(2)js/*.js        //匹配js目录下所有后缀为.js的文件

(3)js/**/*.js   //匹配js目录及其子目录下所有后缀为.js的文件

(4)!js/test.js //从匹配结果中排出js目录下的test.js文件

2. gulp.task()

    gulp.task()函数用来构建任务。函数原型为:

gulp.task(name[, deps], fn)

    name是所构建的任务名称。fn是任务所要执行的函数,gulp具体的工作过程是在fn中进行的。示例:

var webpack = require('gulp-webpack');var config = require('./webpack.config');gulp.task('webpack', function() {    return webpack(config)        .pipe(uglify())        .pipe(gulp.dest('./dist/js'));});

    上面的代码是我在项目中使用的部分。该部分是webpack与gulp的联合使用,第一次看到别人用时,感觉发现了新大陆。task参数function中webpack会首先执行同一目录下的webpack.config.js配置文件,对代码进行模块打包;然后,返回打包后的所有文件的文件流;文件流通过pipe进入到uglify插件后进行压缩;最后,文件流通过gulp.dest写入到设置的目录下。

3.gulp.dest()

    gulp.dest()是对文件流的输出进行设置。函数原型为:

gulp.dest(path[, options])

    path是文件输出路径设置。注意:path只能生成文件的目录,不能生成文件的名称,不能生成文件的名称,不能生成文件的名称,不能生成文件的名称,重要的事说四遍。而最终生成的文件的名称是由gulp.src传入的文件名决定。下面会由示例的。

    文件最终生成的路径也需要注意:

(1)如果gulp.src(path)中的path带有通配符,则生成的路径由gulp.dest(path_dest)中的path_dest代替path通配符前面的部分组成。例如:

gulp.src('js/*/test.js')//假设匹配到的文件为js/source/test.js.pipe(gulp.dest('dist')); //最终生成的文件为 dist/source/test.js

(2)如果gulp.src(path)中的path没有带通配符,则生成的路径由gulp.dest(path_dest)中的path_dest与gulp.src引入的文件名组成。例如:

gulp.src('js/test.js').pipe(gulp.dest('dist')); //最终生成的文件为 dist/test.js

四、常用的gulp插件

1. gulp-uglify插件

    引入:

var uglify = require('gulp-uglify');

    作用:对js文件流进行压缩。

gulp.task('server_test', function() {    return gulp.src(server/app.js)        .pipe(uglify())        .pipe(gulp.dest('./dist/js'));});

    上面代码中的uglify()会对流过它的js数据流进行压缩,然后有gulp.dest写入到js目录下。

2. gulp-less插件

    引入:

var less = require('gulp-less');

    作用:对less文件流进行压缩

gulp.task('server_test', function() {    return gulp.src(server/device.less)        .pipe(less())        .pipe(gulp.dest('./dist/less'));});

    上面代码中的less()会对流过它的less数据流进行压缩,然后有gulp.dest写入到less目录下。

3. gulp-minify-css插件

    引入:

var minifyCSS = require('gulp-minify-css');

    作用:对css文件流进行压缩

gulp.task('server_test', function() {    return gulp.src(server/control.css)        .pipe(minifyCSS())        .pipe(gulp.dest('./dist/css'));});

    上面代码中的minifyCSS()会对流过它的css数据流进行压缩,然后有gulp.dest写入到css目录下。

    gulp中有很多插件,具体根据需要来选择。

   

    兄弟姐妹们,看完后顶一下,收藏一下吧,深夜写博客累呀!!!

转载于:https://www.cnblogs.com/qiushichen/p/5951100.html

你可能感兴趣的文章
printf格式控制符的完整格式
查看>>
Java 语法 索引 ----- 异常
查看>>
Rommel - C# 浅谈 接口(Interface)的作用
查看>>
Linux企业级项目实践之网络爬虫(11)——处理http请求头
查看>>
ISV客户博客系列:Windows Azure上的Softlibrary 和 Kern4Cloud
查看>>
Windows Azure-2.5天免费深度技术训练营——面向软件工程师和架构师
查看>>
云与移动有何共同点?
查看>>
【leetcode】Count Primes
查看>>
LTE引理——解决数论竞赛题的利器
查看>>
国外论坛问题集
查看>>
Bek Trak Trik for wireless WPA/WPA2 & SSH & email
查看>>
CMurphi入门笔记(六)——规则,起始状态和不变式
查看>>
[LeetCode] Number of Lines To Write String
查看>>
[LeetCode] Can Place Flowers
查看>>
Leaf——美团点评分布式ID生成系统 UUID & 类snowflake
查看>>
随tomcat启动的Servlet程序
查看>>
Loj 538 递推数列
查看>>
openstack Too many open files错误
查看>>
Python编程快速上手-函数
查看>>
centos7设置官方yum安装nginx
查看>>