实现的功能包括 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']);

  

转载于:https://www.cnblogs.com/juexin/p/6694927.html

glup自动化构建工具相关推荐

  1. python自动化构建工具_Python自动化构建工具scons使用入门笔记

    这段时间用到了scons,这里总结下,也方便我以后查阅. 一.安装sconsLinux环境(以CentOS为例) 1.yum安装 yum install scons 2.源码安装 下载scons:ht ...

  2. (28)自动化构建工具Gulp

    一.自动化构建工具介绍 Grunt:它是最早的自动化构建工具,它是基于临时文件进行构建的,构建速度慢. Gulp:它是基于内存进行构建的.是我们目前最流行最常用的自动化构建工具.构建速度快,上手更容易 ...

  3. 前端自动化构建工具之webpack入门——简单入门

    写在前面 这篇博客也是参照别人的webpack入门,加上自己的一些操作,还有我在此过程中遇到的困难.如果是已经入门的或者这方面的高手,请绕行,也请勿吐槽. 正文开始 我们为什么要学习webpack 首 ...

  4. 前端自动化构建工具:用Gulp4.0搭建一个基本的前端开发环境

    一个项目的完成一般需要经过三个步骤:初始化.开发和部署.在前端开发过程中,我们经常需要依靠一些自动化构建工具来优化前端工作流程,来帮助我们完成一系列繁琐的工作,例如浏览器热更新.ES6编译.代码压缩. ...

  5. Maven(自动化构建工具)

    目录 Maven简介 1.1 软件开发中的阶段 1.2 Maven能做什么 1.3 什么是Maven 1.4 Maven的概念 1.5 Maven安装 Maven的核心概念 2.1约定的目录结构 2. ...

  6. 常用的前端自动化构建工具gulp/grunt/fis --简介

    常用的前端自动化构建工具 之前我们自动化构建将入门级别使用的 NPM Scripts自动化构建工具对于相对复杂的项目构建会比较吃力,那么我们会了解 Gulp Grunt fIS 用法基本相同:都是通过 ...

  7. 前端自动化构建工具介绍

    前端自动化构建工具有: Bower,Gulp,Grunt,node,yeoman... 自动化构建是作为前端工程化中重要的部分,承担着若干需要解决的环节.包括流程管理.版本管理.资源管理.组件化.脚手 ...

  8. 【LINUX修行之路】——工具篇gcc/g++的使用和自动化构建工具make/makefile

    学习范围:✔️LINUX ✔️ gcc/g++✔️make/makefile 本文作者:蓝色学者 文章目录 一.前言 二.概念 什么是gcc/g++? 什么是make/makefile? 三.教程 3 ...

  9. 亚信UED前端流程自动化构建工具

    亚信UED前端流程自动化构建工具 亚信UED前端流程自动化构建工具 aiflow 亚信 gulp 项目由亚信CMC UED团队创建,用于解决前端项目构建的流程管理,以及复杂度问题解决. 亚信UED前端 ...

最新文章

  1. Python中re的match、search、findall、finditer区别正则
  2. android 如何获得activity的view对象,Android的Activity 、 Window 、 View之间的关系
  3. [Unity] 战斗系统学习 6:构建 TPS 框架 2
  4. AutoCAD2004启动时出现fail to get CommcntrController的怎么办
  5. QTcpSocket使用QDataStream发送和保存图片文件
  6. Flink查询关联Hbase输出
  7. 一个程序的自我修养「GitHub 热点速览 v.22.19」
  8. JavaScript中的作用域及作用域链
  9. 24小时365天不间断服务
  10. 三极管控制继电器接法
  11. 多少卡路里,我应该吃是错误的
  12. 读书有益——》小朋友的诗(六)
  13. RankNet学习思路+损函感悟+\pi \xu 学xi+交叉熵损函详
  14. 计算机网络实验三——IP网络规划与路由设计
  15. 软件工程毕设项目推荐
  16. Modbus 简单认识(楼宇自动化系统背景下的详实总结
  17. 键盘上什么组合键表示热启动计算机,什么是电脑热启动?电脑怎么热启动
  18. 上海车展直击:“10万级科技头等舱” AION Y上市
  19. 计算机安全沙箱,安全沙箱
  20. 小鱼儿yr系统封装优化设置辅助工具V2.05.3

热门文章

  1. 咳嗽声音分析以确定猪呼吸道感染(译文)
  2. 快速指数算法 (RSA的简单实现)
  3. python wave音频库使用(一)
  4. 【网络设备配置与管理实验一】PT 设置主机名,IP 地址
  5. 电视盒子什么牌子好?测评员分享618热门电视盒子排名
  6. 使用javaFX的TextField实现简单对话框设计——互联网程序设计基础(1)
  7. JAVA获取淮河实时的水质数据
  8. freemarker生成Word报告时 转义符处理及表格中英文间隔大处理
  9. 树莓派开机自动连接wifi和启动ssh
  10. JS手机端移动端长按longtap事件