博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gulp 常见插件及作用
阅读量:5251 次
发布时间:2019-06-14

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

gulp 常见插件及作用

gulp-minify-css       //css压缩
gulp-jshint               //js 检查
gulp-uglify              //js压缩
gulp-rename          //重命名
gulp-concat           //合并文件
gulp-clean             //清空文件夹
gulp-notify            //消息提示
gulp-sourcemaps  //生成maps文件
gulp-changed       //检测文件修改
gulp-imagemin     //图片压缩
gulp-autoprefixer  //浏览器前缀
gulp-livereload     //用于自动刷新浏览器,反映出源码的最新变化
 
gulp模块的方法
 
gulp模块的
src方法,用于产生数据流。它的参数表示所要处理的文件,这些指定的文件会转换成数据流。参数的写法一般有以下几种形式。
  • js/app.js:指定确切的文件名。
  • js/*.js:某个目录所有后缀名为js的文件。
  • js/**/*.js:某个目录及其所有子目录中的所有后缀名为js的文件。
  • !js/app.js:除了js/app.js以外的所有文件。

dest方法将管道的输出写入文件,同时将这些输出继续输出,所以可以依次调用多次dest方法,将输出写入多个目录。如果有目录不存在,将会被新建。

gulp.src('./client/templates/*.jade') .pipe(jade()) .pipe(gulp.dest('./build/templates')) .pipe(minify()) .pipe(gulp.dest('./build/minified_templates')); task方法用于定义具体的任务。它的第一个参数是任务名,第二个参数是任务函数。下面是一个非常简单的任务函数。
gulp.task('greet', function () { console.log('Hello world!'); });

 task方法还可以指定按顺序运行的一组任务。

 task方法的回调函数,还可以接受一个函数作为参数,这对执行异步任务非常有用。

// 执行shell命令var exec = require('child_process').exec; gulp.task('jekyll', function(cb) { // build Jekyll exec('jekyll build', function(err) { if (err) return cb(err); // return error cb(); // finished task }); }); 如果一个任务的名字为default,就表明它是“默认任务”,在命令行直接输入gulp命令,就会运行该任务。
gulp.task('default', function () { // Your default task }); watch方法用于指定需要监视的文件。一旦这些文件发生变动,就运行指定任务。
gulp.task('watch', function () { gulp.watch('templates/*.tmpl.html', ['build']); }); gulp-load-plugins 模块

一般情况下,gulpfile.js中的模块需要一个个加载。

var gulp = require('gulp'), jshint = require('gulp-jshint'), uglify = require('gulp-uglify'), concat = require('gulp-concat'); gulp.task('js', function () { return gulp.src('js/*.js') .pipe(jshint()) .pipe(jshint.reporter('default')) .pipe(uglify()) .pipe(concat('app.js')) .pipe(gulp.dest('build')); });
 

上面代码中,除了gulp模块以外,还加载另外三个模块。

这种一一加载的写法,比较麻烦。使用gulp-load-plugins模块,可以加载package.json文件中所有的gulp模块。上面的代码用gulp-load-plugins模块改写,就是下面这样。

var gulp = require('gulp'), gulpLoadPlugins = require('gulp-load-plugins'), plugins = gulpLoadPlugins(); gulp.task('js', function () { return gulp.src('js/*.js') .pipe(plugins.jshint()) .pipe(plugins.jshint.reporter('default')) .pipe(plugins.uglify()) .pipe(plugins.concat('app.js')) .pipe(gulp.dest('build')); }); gulp-livereload模块

gulp-livereload模块用于自动刷新浏览器,反映出源码的最新变化。它除了模块以外,还需要在浏览器中安装插件,用来配合源码变化。

var gulp = require('gulp'), less = require('gulp-less'), livereload = require('gulp-livereload'), watch = require('gulp-watch'); gulp.task('less', function() { gulp.src('less/*.less') .pipe(watch()) .pipe(less()) .pipe(gulp.dest('css')) .pipe(livereload()); });

 

 

转载于:https://www.cnblogs.com/queff/p/6770227.html

你可能感兴趣的文章
React项目需要安装的第三方插件或包随手一记-----------------------------------------【凤、独影】...
查看>>
HDU 4799 LIKE vs CANDLE 树形dp
查看>>
Python学习--打码平台
查看>>
安卓应用的界面编程(2)
查看>>
【[HNOI2008]GT考试】
查看>>
[NOI2016]循环之美
查看>>
VS2017 -error LNK1104: 无法打开文件“msvcprtd.lib”
查看>>
Spring3系列4-多个配置文件的整合
查看>>
开始→运行(cmd)命令大全
查看>>
大小写转换
查看>>
第一篇
查看>>
linux基础知识学习笔记
查看>>
[转] 窗口封装类与Windows窗口实例的关系-3、CWnd如何处理窗口消息
查看>>
2018总结之一个有仪式感的2019启航
查看>>
3.31
查看>>
Linux静态路由配置
查看>>
进程通信方式-线程通信方式
查看>>
KMP
查看>>
Only_排序 解题报告汇总
查看>>
数据数组
查看>>