gulp 常用方法 任务 插件
执行gulp 任务
gulp taskname (default任务不输入名称亦可:gulp)
var gulp = require("gulp");
gulp.task("a",function(){
console.log("aaa");
});
gulp 前置任务
gulp.task(当前任务,["前置任务"],回调函数)
var gulp = require("gulp");
gulp.task("a",function(){
console.log("aaa");
});
gulp.task("aftera",["a"],function(){
console.log("after a");
});
gulp src pipe dest 读写文件
- src:读取,gulp.src(globs),globs是筛选条件,可以是字符串和数组,[patha,pathb...]:读取多个文件
- pipe:管道,a.pipe(b):将a写入到b中
- dest:写入,gulp.dest(path):将文件写入到指定路径
gulp.src(globs).pipe(gulp.dest(path)):读取文件并写入到指定路径
示例:读取src目录下下的所有js文件,写入到dist目录下
var gulp = require("gulp");
gulp.task("dofile", function () {
gulp.src("./src/**/*.js")
.pipe(gulp.dest("./dist"));
});
gulp watch 监控
watch方法用于监视文件变化
gulp.watch(url,fn(event){}),
gulp.watch([url1,url2...],fn(event){})
gulp.task("watchfile",function(){
gulp.watch('./src/js/test.js',function(event){
console.log(event.type);//added deleted changed
console.log(event.path);
});
});
gulp插件:
gulp uglify 压缩文件插件
ugligy:压缩文件,可以将文件中的空格删除
下载插件:npm i gulp-uglify --save -dev
var gulp = require("gulp");
var uglify = require("gulp-uglify");
gulp.task("douglify",function(){
gulp.src("./src/js/a.js")
.pipe(uglify())
.pipe(gulp.dest('./uglify'));
});
压缩前与压缩后效果:
gulp rename 重命名
下载插件:npm i gulp-rename --save -dev
gulp.rename(string)
读取文件,压缩并重命名写入另一个目录:
var gulp = require("gulp");
var uglify = require("gulp-uglify");
var rename = require("gulp-rename");
gulp.task("renamefile",function(){
gulp.src("./src/js/test.js")
.pipe(uglify())
.pipe(rename("updateName.js"))
.pipe(gulp.dest("./rename"));
});
gulp-minify-css 压缩css文件
下载插件:npm i gulp-minify-css --save -dev
将css文件压缩,可不写参数,在管道流中操作
var gulp = require("gulp");
var cssminify = require("gulp-minify-css");
gulp.task("minicss", function () {
gulp.src("./src/css/*.css")
.pipe(cssminify())
.pipe(gulp.dest("./src/css/mini"));
})
gulp-minify-html 压缩html文件
下载插件:npm i gulp-minify-html --save -dev
在管道流中操作
var gulp = require("gulp");
var HTMLminify = require("gulp-minify-html");
gulp.task("htmlminify",function(){
gulp.src("./src/html/*.*")
.pipe(HTMLminify())
.pipe(gulp.dest("./src/html/minify"));
});
gulp-concat 合并文件
下载插件:npm i gulp-concat --save -dev
concat(filename)
var gulp = require("gulp");
var concat = require("gulp-concat");
gulp.task("concatfile",()=>{
gulp.src("./src/js/*.js")
.pipe(concat('all.js'))
.pipe(gulp.dest('./src/js/concat'));
});
gulp-sass 解析sass
下载插件:npm i gulp-sass --save -dev
sass():在管道流中操作,将sass解析成css
var gulp = require("gulp");
var sass = require("gulp-sass");
gulp.task("sassfile",()=>{
gulp.src("./src/sass/c.scss")
.pipe(sass())
.pipe(gulp.dest("./src/sass"));
});
gulp-imagemin 压缩图片
下载插件:npm i gulp-imagemin --save -dev
var gulp = require("gulp");
var imagemin = require("gulp-imagemin");
gulp.task("imgmin",()=>{
gulp.src("./src/images/*.*")
.pipe(imagemin())
.pipe(gulp.dest('./src/images/min'));
});
自动加载插件:
- npm install --save-dev gulp-load-plugins
gulp 常用方法 任务 插件的更多相关文章
- 前端构建之gulp与常用插件
gulp是什么? http://gulpjs.com/ 相信你会明白的! 与著名的构建工具grunt相比,有什么优势呢? 易于使用,代码优于配置 高效,不会产生过多的中间文件,减少I/O压力 易于学习 ...
- gulp自动刷新插件
gulp自动刷新的插件很多,但是感觉最好用的还是 browser-sync 插件.如果不想用命令行,也可以使用 browser-sync界面工具 先安装 browser-sync 插件: npm in ...
- gulp如何自定义插件
gulp是基于”流“的构建工具,上层流的输出就是下层流的输入,为了更好的支持链式操作,可以使用through2或者map-stream这两个库来对node stream做一层包装 这里,我们就使用th ...
- 前端构建之gulp与常用插件(转载)
原博主:幻天芒 原文地址:http://www.cnblogs.com/humin/p/4337442.html gulp是什么? http://gulpjs.com/ 相信你会明白的! 与著名的构建 ...
- 前端自动化Gulp工具常用插件
npm init命令初始化当前文件夹后,在当前文件夹新建gulpfile.js文件.当前目录下的所有操作流都在gulpfile.js文件中定义. gulp自动化 gulp-uglify (JS压缩) ...
- Gulp工具常用插件
gulp-uglify(js压缩) gulp-uglify安装 // npm install --save-dev gulp-uglify 已过时 npm install --save-dev jsh ...
- gulp的常用插件
gulp和webpack的差别:https://www.cnblogs.com/lovesong/p/6413546.html var gulp = require('gulp'); var del ...
- gulp常用的插件
参考地址: http://www.cnblogs.com/1wen/p/5421212.html https://my.oschina.net/wolfx/blog/673905 http://www ...
- gulp常用方法
var gulp = require('gulp'); var concat = require('gulp-concat'); //使用gulp-concat合并文件,减少网络请求(静态资源数量): ...
随机推荐
- maven配置文件pom.xml小记
1.pom.xml主要描述了项目:包括配置文件:开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素 2.基础设置: <modelV ...
- 疫情下的传统商企自救|4个Tips搭建销量过亿直播间
新冠肺炎爆发以来,线下商企遭受巨大冲击.出于疫情防控需要,不少门店选择暂时停业:而消费者们更是响应号召.足不出户.这场疫情促使消费者的消费习惯和方式进一步转向线上订购转变,直播.短视频等领域逆势而起, ...
- Python三次握手和四次挥手
先要了解什么是传输层 博客中网络协议基础编有详细介绍 https://www.cnblogs.com/toby-yu/p/12357598.html TCP三次握手和四次挥手 1.三次握手 首先Cli ...
- idea 添加 开发者信息
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse( ...
- solr 对于 关键字的特殊处理
public static String transformMetachar(String input){ StringBuffer sb = new StringBuffer(); ...
- AngularJS中transclude用法详解
这篇文章主要介绍了AngularJS中transclude用法,详细分析了transclude的具体功能.使用技巧与相关注意事项,需要的朋友可以参考下 本文实例讲述了AngularJS中transcl ...
- 自定义输入函数 - C语言编程
有返回功能的输入函数: #include <stdio.h> #include <conio.h> void input(char content[]); int main() ...
- Gol流程控制
条件语句 if语句 if 布尔表达式 { }else 布尔表达式{ }else{ } if语句后的{,一定要和if条件写在同一行,否则报错 else一定要在if语句}之后,不能自己另起一行 if语句变 ...
- centos7安装启动firefox
1.卸载系统之前Firefox sudo yum erase firefox 2.安装firefox命令: sudo yum install firefox 3.驱动下载地址: https://git ...
- Linux package installation: deb and rpm
一般来说著名的 Linux 系统基本上分两大类: RedHat 系列:Redhat.Centos.Fedora 等 Debian 系列:Debian.Ubuntu 等 Dpkg (Debian系): ...