实现的功能包括 js压缩,css文件合并压缩并在html加版本号,压缩html文件

1.安装gulp

建议参考官网就行http://www.gulpjs.com.cn/docs/getting-started/

npm install gulp --save -dev   [注:将gulp安装到项目]

npm init    [注:根据提示一步一步创建package.json 最后yes保存]

添加 gulpfile.js文件 如步骤三

webstrom --》run--》选择运行default  这样就运行gulpfile.js文件了 [注:default,意思名为的default的task,如下]

gulp.task('default', [ 'copy', 'concat', 'replace','js']);

2.安装插件 主要用到以下插件

安装命令 npm install gulp-uglify gulp-concat gulp-minify-css gulp-rev gulp-rev-collector gulp-replace gulp-htmlmin  --save -dev

3.gulpfile.js文件:

/**
* Created by jh on 2017/4/6.
*/
var gulp = require('gulp');
var minify = require('gulp-uglify'); //- 压缩js;
var concat = require('gulp-concat'); //- 多个文件合并为一个;
var minifyCss = require('gulp-minify-css'); //- 压缩CSS为一行;
var rev = require('gulp-rev'); //- 对文件名加MD5后缀
var revCollector = require('gulp-rev-collector'); //- 路径替换
var replace = require('gulp-replace'); //替换地址
var htmlmin = require('gulp-htmlmin'); //压缩html /*=====================copy其他静态资源文件==========================*/
gulp.task('copy', function() {
return gulp.src(['images/**/*'])
.pipe(gulp.dest('dist/images'))
});
/*=====================压缩js==========================*/
gulp.task('js',function(){
gulp.src('js/*.js') // 匹配
.pipe(minify())
.pipe(gulp.dest('dist/js')); // 写入 'dist/js'
});
//gulp.src('js/*.js', { base: 'client' })//会把源js也压缩
// .pipe(minify())
// .pipe(gulp.dest('build')); // 写入 'build/js/somedir/somefile.js' /*=====================合并、压缩css==========================*/
gulp.task('concat',function(){
gulp.src(['css/style.css', 'css/style.mine.css']) //- 需要处理的css文件,放到一个字符串数组里
.pipe(concat('style.rar.css')) //- 合并后的文件名
.pipe(minifyCss()) //- 压缩处理成一行
.pipe(rev()) //- 文件名加MD5后缀
.pipe(gulp.dest('dist/css')) //- 输出文件本地
.pipe(rev.manifest()) //- 生成一个rev-manifest.json
.pipe(gulp.dest('config')); //- 将 rev-manifest.json 保存到 rev 目录内
}); /*=====================打包、修改地址==========================*/
gulp.task('replace',function(){
gulp.src(['config/*.json','*.html'])
.pipe(revCollector()) //- 执行文件内css名的替换
.pipe(replace('css/','./css/')) //替换地址
.pipe(htmlmin({collapseWhitespace: true}))
.pipe(gulp.dest('dist'))
});
//gulp.task('replace',function(){
// gulp.src(['config/*.json', '*.html']) //- 读取 rev-manifest.json 文件以及需要进行css名替换的文件
// .pipe(revCollector()) //- 执行文件内css名的替换
// .pipe(gulp.dest('dist')); //- 替换后的文件输出的目录
//});
//gulp.task('city', ['js', 'concat', 'replace', 'revCollector']); gulp.task('city', [ 'copy', 'concat', 'replace','js']);

  

												

glup自动化构建工具的更多相关文章

  1. gulp自动化构建工具

    gulp    自动化构建工具,实时监控.代码合并.压缩... http://www.gulpjs.com.cn/     中文网 http://gulpjs.com/plugins/     英文网 ...

  2. 前端自动化构建工具gulp的使用总结

    前端自动化构建工具gulp的使用总结 博主最近偶的空闲,在此对gulp的使用做一个总结,让小伙伴知道如何合理的使用gulp以及gulp的使用技巧. 谈到gulp,有人可能就会想到另外一个构建工具gru ...

  3. 前端开发自动化工作流工具,JavaScript自动化构建工具grunt、gulp、webpack介绍

    前端开发自动化工作流工具,JavaScript自动化构建工具grunt.gulp.webpack介绍 前端自动化,这样的一个名词听起来非常的有吸引力,向往力.当今时代,前端工程师需要维护的代码变得及为 ...

  4. 前端自动化构建工具——gulp

    gulp是基于流的前端自动化构建工具. 一.环境配置 gulp是基于nodejs的,所以没有 nodejs 环境的要先去安装好 然后给系统配上gulp环境 npm install -g gulp 再到 ...

  5. 前端自动化构建工具 Gulp 使用

    一个月没写博客了,今天有时间,就写个gulp的入门使用吧.. 简介:gulp是一个前端自动化构建工具,可以实现代码的检查.压缩.合并……等等,gulp是基于Node.js的自动任务运行器 一.安装No ...

  6. gulp前端自动化构建工具新手入门篇

    很久没有更新博文了. 经过了一次年前吐血的赶项目,终于在年后回血了.趁着有空,新学到了一个前端自动化构建工具-gulp. 现在我们通过这3个问题来学习一下: 1.什么是gulp? 2.为什么要用gul ...

  7. 前端自动化构建工具-yoman浅谈

    如今随着前端技术的飞速发展,前端项目也变得越来越复杂. 快速的搭建一个集成多种工具和框架的复杂前端项目也越来越成为一种需求. 当然如果你要自己从0开始完全自己diy,绝对可以,只不过需要耗费一些不少的 ...

  8. JavaScript自动化构建工具入门----grunt、gulp、webpack

    蛮荒时代的程序员: 做项目的时候,会有大量的js 大量的css   需要合并压缩,大量时间需要用到合并压缩 在前端开发中会出现很多重复性无意义的劳动  自动化时代的程序员: 希望一切都可以自动完成  ...

  9. Visual Studio Code初识与自动化构建工具安装

    1.Visual Studio Code如何新建文件夹 要自己手动在本地新建,然后再点击文件->打开文件夹即可. 之后你就可以任意添加文件了 2.如何使用自动化构建工具 通过自动化构建工具,用户 ...

随机推荐

  1. Arduino-定义串口

    在一个老外写的代码中找到了一个非常好的定义串口的方法!   Arduino用下面这种方法定义串口可以方便的把协议应用的任意的端口,大大提高了代码的修改性和移植性.       以下是范例:       ...

  2. 好的学习网站和app推荐

    1  W3cschool: http://www.w3school.com.cn/ 菜鸟教程: http://www.runoob.com/ 2 视频学习网站和app:网易云课堂.腾讯课堂.慕课网(h ...

  3. soap使用xml调用webapi后返回xml信息进行JSON转换处理,以顺丰查询接口为例

    expressUrl = string.Format(可以卸载配置文件的域名URL + "/bsp-oisp/ws/expressService"); StringBuilder ...

  4. 幻灯片的JQuqey的制作效果,只要几行代码

    使用jquery.KinSlideshow.js就可以很轻松的实现幻灯片效果   htm代码: [html]   <div id="focusNews" style=&quo ...

  5. 反射java

    所谓反射(Refection),其实就是程序自己能够检查自身信息,就像程序会通过镜子反光来看自己本身一样.反射使得 Java语言具有了“动态性”,即程序首先会检查某个类中的方法.属性等信息,然后再动态 ...

  6. JS将unicode码转中文方法

    原理,将unicode的 \u 先转为 %u,然后使用unescape方法转换为中文. ? 1 2 3 4 <script type="text/javascript"> ...

  7. 谷歌浏览器兼容IE插件

    谷歌浏览器兼容IE插件 http://pan.baidu.com/s/1i31hspf

  8. 第25章 串行FLASH文件系统FatFs—零死角玩转STM32-F429系列

    第25章     串行FLASH文件系统FatFs 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.c ...

  9. 精心收集的48个JavaScript代码片段,仅需30秒就可理解

    源文链接 :https://github.com/Chalarangelo/30-seconds-of-code#anagrams-of-string-with-duplicates 该项目来自于 G ...

  10. C#基础学习笔记(个人整理)

    学习笔记 第一章:c#基础 一.程序设计语言的发展及历史 1.程序设计语言? 通俗也叫编程语言,实现人与机器交互的工具 2.历史 1)机器语言 : 0,1 2)汇编语言 : 包含一些机器语言,同时增加 ...