1. 全局安装 gulp:

$ npm install --global gulp

2. 作为项目的开发依赖(devDependencies)安装:

$ npm install --save-dev gulp

3. 在项目根目录下创建一个名为 gulpfile.js 的文件:

var gulp = require('gulp');gulp.task('default', function() { // 将你的默认的任务代码放在这 }); 

4. 运行 gulp:

$ gulp

默认的名为 default 的任务(task)将会被运行,在这里,这个任务并未做任何事情。

想要单独执行特定的任务(task),请输入 gulp <task> <othertask>

var gulp = require('gulp');
var minifycss = require('gulp-minify-css');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var htmlmin = require('gulp-htmlmin');
var del = require('del');
var imagemin = require('gulp-imagemin'); //压缩图片 ;
//压缩css
gulp.task('indexcss', function () {gulp.src(['css/css.css', './js/bootstrap/css/bootstrap.min.css', './js/bootstrap/non-responsive.css', 'css/main.css']) //压缩的文件.pipe(concat('main.css')).pipe(gulp.dest('./dist/css')) //输出文件夹.pipe(minifycss()); //执行压缩
});
//压缩js
gulp.task('indexjs', function () {gulp.src(["./js/lib/jquery-1.9.1.min.js", "./js/bootstrap/js/bootstrap.min.js", "./js/lib/jqueryui/jquery-ui.min.js", "./js/lib/jquery.cookie.js", "./js/lib/avalon.js", "./js/lang.js", "./js/util.js", "./js/lib/html2canvas.min.js", "./js/component.js", "./js/page/index.js"]).pipe(concat('index.main.js')) //合并所有js到main.js.pipe(gulp.dest('./dist/js')) //输出main.js到文件夹.pipe(rename({suffix: '.min'})) //rename压缩后的文件名.pipe(uglify({mangle: false,//类型:Boolean 默认:true 是否修改变量名compress: false//类型:Boolean 默认:true 是否完全压缩})) //压缩.pipe(gulp.dest('./dist/js')); //输出
});
// 压缩图片
gulp.task('testimage', function () {gulp.src('image/*.*').pipe(imagemin({optimizationLevel: 5, //类型:Number  默认:3  取值范围:0-7(优化等级)progressive: true, //类型:Boolean 默认:false 无损压缩jpg图片interlaced: true, //类型:Boolean 默认:false 隔行扫描gif进行渲染multipass: true //类型:Boolean 默认:false 多次优化svg直到完全优化})).pipe(gulp.dest('./dist/image'));});
// 压缩html
gulp.task('compressHtml', function () {gulp.src('*.html').pipe(htmlmin({removeComments: true, //清除HTML注释collapseWhitespace: true, //压缩HTMLcollapseBooleanAttributes: true, //省略布尔属性的值 <input checked="true"/> ==> <input />removeEmptyAttributes: true, //删除所有空格作属性值 <input id="" /> ==> <input />removeScriptTypeAttributes: true, //删除<script>的type="text/javascript"removeStyleLinkTypeAttributes: true, //删除<style>和<link>的type="text/css"minifyJS: true, //压缩页面JSminifyCSS: true //压缩页面CSS})).pipe(gulp.dest('./dist'));});
gulp.task('clean', function (cb) {del(['./dist/css', './dist/js'], cb)
});
gulp.task('default', function () {gulp.start('indexcss', 'indexjs', 'testimage', 'compressHtml');
});

转载于:https://www.cnblogs.com/panhywel/p/7607496.html

用自动化构建工具增强你的工作流程——gulp相关推荐

  1. gulp——用自动化构建工具增强你的工作流程

    gulp概念 之前有写了webpack, 现在重新写gulp感觉二者最终结果虽说相差无几,但是侧重点还是有所不同 webpack更偏向于工程化,gulp侧重于项目的整个流程控制,你可以二者结合,也可以 ...

  2. 前端自动化构建工具合集之gulp-姜威-专题视频课程

    前端自动化构建工具合集之gulp-2984人已学习 课程介绍         Gulp自动化构建系统,使用node.js串流让构建更的组合,利用外挂(plugins)使应用更灵活,简单的四个命令,组合 ...

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

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

  4. 前端工程化实战 - 自动化构建工具

    文章目录 一.自动化构建简介 二.自动化构建初体验 2.1 场景描述 2.2 实际操作体验 三.常用的自动化构建工具 3.1 Grunt 3.2 Gulp 3.3 FIS 四.自动化构建工具 Grun ...

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 用Transformer完全替代CNN?
  2. Struts2学习第二天——动态方法调用
  3. CodeForces 518A - Chewbaсca and Number(思路)
  4. blockingdeque java_Java BlockingDeque解决生产者与消费者问题
  5. react-router-dom v6.1.1 使用方式
  6. python 赋值操作的知识点
  7. 零售券商之王:零佣金的罗宾侠的400亿美金
  8. 《SEM长尾搜索营销策略解密》一一1.5 互联网时代,世界不再匮乏
  9. ubuntu无法进入图形界面,停留在【ok】启动界面
  10. snkrs抽签协议获取
  11. uniapp基本语法/组件使用
  12. Android 双击退出和单击回到桌面
  13. ojdbc8.jar 官网下载地址
  14. 用无线插板控制RC(远程遥控)小车
  15. 酒店预定系统开发方案
  16. FAT32文件系统学习
  17. 羊了个羊游戏开发思路是什么?
  18. 2-3 打折促销* (10 分)
  19. 玩转Java网页抓取
  20. “命令终端”的实现1-准备篇

热门文章

  1. python中定义元组的符号_python中得元组和字符串详解,有这么一篇文章就够了
  2. eigrp配置实验_【实验】思科与华为的差别——路由的优选
  3. bootstrap搜索框_Bootstrap 开源 SVG 图标库 Bootstrap Icons
  4. XSS-Game Level 4
  5. 彻底与高通谈崩?苹果被爆计划自研5G调制解调器
  6. 【JS基础】异步和单线程
  7. 【Spring】详解ContextLoaderListener和DispatcherServlet的区别
  8. jQuery 1.4版本的15个新功能(现在已经发布到jquery1.8,特别是增强版的live事件,支持 submit , change , focus 和 blur 事件)...
  9. tensorflow 小于_TensorFlow做Sparse Machine Learning
  10. python爬虫模拟点击下拉菜单和_python+selenium爬虫过程中的模拟点击问题