gulp自动化构建工具使用
gulpfile.js:
var gulp = require("gulp");
var imagemin = require("gulp-imagemin");//压缩图片插件
var uglify = require("gulp-uglify"); //js压缩插件
var sass = require("gulp-sass"); //sass转换为css插件
var concat = require("gulp-concat"); //代码合并插件
-----------------------------------------------------------------------
gulp能做什么:(下面是罗列最基本的)
-----------------------------------------------------------------------
1...压缩代码
2...合并代码
3...压缩图片
4...sass转换
-----------------------------------------------------------------------
原理:
1...gulp是基于nodejs的数据流
2...gulp主要使用pipe事件输入输出
3...插件独立使用
-----------------------------------------------------------------------
优势:
1...gulp是基于代码进行配置
2...gulp的可读性更高
3...gulp基于数据流,所以可以操作pipe()事件
-----------------------------------------------------------------------
安装
cnpm install gulp -g
-----------------------------------------------------------------------
npm init
一直回车;
gulpfile.js 和packjson.js同级
-----------------------------------------------------------------------
常用的方法:
gulp.task //定义任务
gulp.src //找到需要执行任务的文件
gulp.dest //执行任务的文件的去处
gulp.watch //观察问是否发生变化 //定义默认任务
gulp.task("default",function(){
return console.log("这是默认任务,只需要执行gulp")
})
//执行任务cmd 命令行gulp
-----------------------------------------------------------------------
gulp.task("message",function(){
return console.log("这是制定任务")
})
//执行任务cmd 命令行gulp message
-----------------------------------------------------------------------
//拷贝文件
gulp.task("copyHtml",function(){
gulp.src("src/*.html") //src所有html
.pipe(gulp.dest("dist")) //输送到dist文件夹下
})
//执行任务cmd 命令行gulp copyHtml 这样就完成了文件拷贝
-----------------------------------------------------------------------
//图片压缩
cnpm i gulp-imagemin
gulp.task("imageMin",function(){
gulp.src("src/images/*") //src/images所有的东西
.pipe(imagemin()) //调用上面的方法
.pipe(gulp.dest("dist/images")) //输送到dist/images文件夹下
})
//执行任务cmd 命令行gulp imageMin 这样就完成了图片压缩
-----------------------------------------------------------------------
//压缩js文件
cnpm i gulp-uglify
gulp.task("minify",function(){
gulp.src("src/js/*.js") //src/js所有的js
.pipe(uglify()) //调用上面的方法
.pipe(gulp.dest("dist/js")) //输送到dist/js文件夹下
})
//执行任务cmd 命令行gulp minify 这样就完成了js压缩;
-----------------------------------------------------------------------
//sass转换为css
cnpm i gulp-sass
gulp.task("sass",function(){
gulp.src("src/sass/*.scss") //src/sass所有的scss文件
.pipe(sass().on("erro",sass.logError)) //调用上面的方法,并且打印错误;
.pipe(gulp.dest("dist/css")) //输送到dist/css文件夹下
})
//执行任务cmd 命令行gulp sass 这样就完成了sass转换为css;
-----------------------------------------------------------------------
//代码合并
cnpm i gulp-concat
gulp.task("concatScripts",function(){
gulp.src("src/js/*.js") //src/js所有的js
.pipe(concat("main.js")) //合并之后的文件名;
.pipe(uglify()) //压缩js;如果这里做了合并代码的操作可以不用单独压缩js文件
.pipe(gulp.dest("dist/js")) //输送到dist/js文件夹下
})
//执行任务cmd 命令行concatScripts
-----------------------------------------------------------------------
//监听文件是否变化
gulp.task("watch",function(){
gulp.watch("src/js/*.js",["concatScripts"]);
gulp.watch("src/images/*",["imageMin"]);
gulp.watch("src/sass/*.scss",["sass"]);
gulp.watch("src/js/*.html",["copyHtml"]);
})
//执行任务cmd 命令行gulp watch
-----------------------------------------------------------------------
//执行多个任务
gulp.task("default",[任务一,任务二,任务三....])
//执行任务cmd 命令行gulp
gulp自动化构建工具使用的更多相关文章
- gulp自动化构建工具的使用
gulp自动化构建工具: 把前端开发常见的处理(“搬砖”)程序,通过一个工具模块管理起来,只需配置一次,达到自动处理目的,简化开发,提高效率!! 安装: 1.全局安装(全局安装一个gulp命令) A. ...
- gulp自动化构建工具
gulp 自动化构建工具,实时监控.代码合并.压缩... http://www.gulpjs.com.cn/ 中文网 http://gulpjs.com/plugins/ 英文网 ...
- Gulp(自动化构建工具 )
前言 Gulp,简而言之,就是前端自动化开发工具,利用它,我们可以提高开发效率. 比如: 1. 压缩js 2. 压缩css 3. 压缩less 4. 压缩图片 等等… 我们完全可以利用Gulp ...
- gulp自动化构建工具安装使用(1)
我用的是windows,所以以下操作针对于windows用户,其他系统有不一样的地方请自行查阅资料更正. 好了,废话少说,反正也就是随手捣腾.下雨了,天晴了,我们开始搞gulp了 安装:gulp是个构 ...
- gulp自动化构建工具使用总结
简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成:使用她,我们不仅可以很愉快的编写代码 ...
- Gulp自动化构建工具的简单使用
相关网站 gulp官方网址:http://gulpjs.com gulp中文网站:http://www.gulpjs.com.cn/ gulp插件地址:http://gulpjs.com/plugin ...
- 前端自动化构建工具gulp的使用总结
前端自动化构建工具gulp的使用总结 博主最近偶的空闲,在此对gulp的使用做一个总结,让小伙伴知道如何合理的使用gulp以及gulp的使用技巧. 谈到gulp,有人可能就会想到另外一个构建工具gru ...
- gulp前端自动化构建工具使用
(1)新建项目目录gulp_web (2)项目目录下建目录src里面存放需要进行gulp处理的文件目录及文件 (3)gulpfile.js文件内容为声明需要打包应用的gulp组件及打包文件路径和打包任 ...
- 前端开发自动化工作流工具,JavaScript自动化构建工具grunt、gulp、webpack介绍
前端开发自动化工作流工具,JavaScript自动化构建工具grunt.gulp.webpack介绍 前端自动化,这样的一个名词听起来非常的有吸引力,向往力.当今时代,前端工程师需要维护的代码变得及为 ...
随机推荐
- 原:maven+springMVC+mybatis+junit详细搭建过程
阅读目录 1. 工程目录结构整理清楚 2. 引入依赖包 3. 配置数据库连接属性 4. 配置spring配置文件 5. java代码编写(model,dao,service层代码) 6. m ...
- 禁止屏幕旋转并同时解决以至于导致Activity重启的方法
1.禁止屏幕旋转在AndroidManifest.xml的每一个需要禁止转向的Activity配置中加入android:screenOrientation属性. //landscape(横向)port ...
- skynet源码阅读<4>--定时器实现
昨天和三石公聊天,他提到timer的实现原理,我当时迟疑了一下,心想timer不是系统底层时钟中断驱动上层进程/线程,累积计时实现的么?他简述了timer的实现,什么堆排序,优先级队列等,与我想象的不 ...
- maven实战(4)-- maven构建自己的jar到本地仓库中
在平时的开发中,经常需要用到自己以前开发的一个jar包,那么如何使用将自己开发的jar提交到本地仓库中,供其他的项目依赖呢?主要有三种方法: (1)使用mvn的构建命令:mvn clean insta ...
- BackTrack5(BT5)各版本下载
BT5R3(最新版本)http://www.nigesb.com/backtrack-5-r3-released.html BT5R2KDE版32位: http://ftp.halifax.rwth ...
- ADC 与实际电压值的关系
1.首先确定ADC用几位表示,最大数值是多少.比如一个8位的ADC,最大值是0xFF,就是255. 2.然后确定最大值时对应的参考电压值.一般而言最大值对应3.3V.这个你需要看这个芯片ADC模块的说 ...
- BZOJ1787 meet
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1787 水题,但是结论很有趣. 题目求的是距离三个点之和最小的点. 这个很显然是在三个LCA上, ...
- SQL语句合集
UNION (合并) UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 S ...
- js和jquery给iframe src赋值的3种方法
js和jquery给iframe src赋值的3种方法 网页使用iframe嵌入网页时,有时候需要动态处理src的值,而不是写死的,所以我们需要知道如何给iframe src赋值,通常是使用js或 ...
- PostgreSQL - 允许远程访问的设置方法
原文转载至:PostgreSQL 允许远程访问设置方法 安装PostgreSQL数据库之后,默认是只接受本地访问连接.如果想在其他主机上访问PostgreSQL数据库服务器,就需要进行相应的配置. 配 ...