gulp.js的大致理解:
gulp.js-基于流的自动化构建工具;
gulp是基于Nodejs的自动任务运行器;
实现上,它借鉴了Unix操作系统的管道(pipe)思想,前一级的输出,直接变成后一级的输入,使得在操作上非常简单;
.pipe 可以视为流的“管道/通道”方法,任何类型的流都会有这个 .pipe 方法去成对处理流的输入与输出。
gulp 安装顺序:
安装nodejs -> 全局安装gulp -> 项目安装gulp以及gulp插件 -> 配置gulpfile.js -> 运行任务
dir列出文件列表;
ls清空命令提示符窗口内容。
npm(node package manager)nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等)
npm安装插件;
npm install <name> [-g] [--save-dev];
<name>:node插件名称。例:npm install gulp-less --save-dev;
--save:将保存配置信息至package.json(package.json是nodejs项目配置文件)
-dev:保存至package.json的devDependencies节点,不指定-dev将保存至dependencies节点;一般保存在dependencies的像这些express/ejs/body-parser等等
本地安装gulp插件(less)
npm install --save-dev
npm install gulp-less --save-dev
新建gulpfile.js文件(重要)
gulpfile.js是gulp项目的配置文件,是位于项目根目录的普通js文件(其实将gulpfile.js放入其他文件夹下亦可)。
命令提示符执行gulp 任务名称;
命令提示符执行gulp testLess;
当执行gulp default或gulp将会调用default任务里的所有任务[‘testLess’,’elseTask’]。
gulp中最常用的插件:
gulp必用引入插件: gulp-htmlmin 压缩html;
gulp-imagemin 压缩常见的图片格式,还能压缩SVG;
gulp-uglilf 专业压缩 js文件;
gulp-clean-css 压缩css;
gulp-concat 合并文件(减少网络请求);
gulp-rename 修改文件名称(重命名) ;
gulp-autoprefixer 给css增加前缀,解决某些css属性不是标准属性,有各个浏览器前缀的情况,非常有用;
关于gulp中vinyl-source-stream这个插件的用法
虽然gulp是通过管道流来输入输出的,但不能直接输入流,如下解释:
gulp.src( ) 返回的一个vinyl文件(也就是说gulp插件期望的输入时Vinyl文件对象),不能直接将一个可读流作为输入的函数(插件)相连,(如果非要用吧一个可读流作为输入的函数需要引入vinyl-source-stream(也可以起到加速打包的效果),必须通过这个插件来转成vinyl)
gulp中用来处理错误的插件stream-combiner2;
stream-combiner2 整合streams来处理错误
gulp中删除文件的插件
删除文件或文件夹 npm install --save-dev gulp del 如下图: