当前位置: 首页 > news >正文

gulp自动化构建工具--压缩css、js、img、编译less、自动刷新一体--学习笔记

 
1.压缩js命令
   npm install gulp-uglify 或者 cnpm install gulp-uglify
2.压缩css命令
   npm install gulp-minify-css 或者 cnpm install gulp-minify-css
3.压缩img命令
   npm install gulp-imagemin  或者  cnpm install gulp-imagemin
4.编译less文件
   命令:npm install gulp-less 或者 cnpm install gulp-less
5、自动刷新
   npm install gulp-connect  或者 npm install gulp-connect
6、编写gulpfile.js文件
   
//获取gulp
var gulp = require('gulp')
    connect = require('gulp-connect');
//获取uglify模块(用于压缩js)
var uglify = require('gulp-uglify')
//获取minify-css模块(用于压缩css)
var minifyCss = require('gulp-minify-css')
//获取gulp-imagemin模块(用于压缩图片)
var imagemin = require('gulp-imagemin')
//获取gulp-less模块
var less = require("gulp-less")

//压缩css文件
//在命令行使用gulp css启动此任务
gulp.task('css',function(){
    //1.找到文件
    gulp.src('views/css/*.css')
    //2.压缩文件
    .pipe(minifyCss())
    //3.另存为压缩文件
    .pipe(gulp.dest('views/dist1/css'))
}) 

//在命令行使用gulp script启动此任务
gulp.task('script',function(){
    //1.找到文件
    gulp.src('views/js/*.js')
    //2.压缩文件
    .pipe(uglify())
    //另存压缩后的文件
    .pipe(gulp.dest('views/dist1/js'))
})

//压缩图片任务
//在命令输入gulp images启动此任务
gulp.task('images',function(){
     //1.找到图片gulp
     gulp.src('views/images/*.*')
     //2.压缩图片
     .pipe(imagemin({
        progressive:true
     }))
     //3.另存图片
     .pipe(gulp.dest('views/dist1/images'))
});

//编译less
//在命令行输入gulp less启动此任务
gulp.task('less',function(){
    //1.找到less文件
    gulp.src('views/less/**.less')
    //2.编译为css
    .pipe(less())
    //3.另存为css
    .pipe(gulp.dest('views/dist1/css1'))
})

//在命令使用gulp auto启动此文件
gulp.task('auto',function(){
     //监听文件修改,当文件被修改则执行css任务
     gulp.watch('views/css/*.css',['css'])
});

//在命令行使用gulp auto启动此任务
gulp.task('auto',function(){
    //监听文件修改,当文件被修改则执行script任务
    gulp.watch('views/js/*.js',['script'])
})

//在命令使用gulp auto启动此任务
gulp.task('auto',function(){
    //监听文件修改,当文件被修改则执行images任务
    gulp.watch('views/images/*.*',['images'])
});


//在命令行gulp auto启动此任务
gulp.task('auto',function(){
    //监听文件修改,当文件修改则执行less任务
    gulp.watch('views/less/**.less',['less'])
})

//自动刷新
gulp.task('connect',function(){
    connect.server({
         port:3000,
         livereload:true
    });
});
//找到文件、刷新
gulp.task('html',function(){
     gulp.src('./views/*.html')
     .pipe(connect.reload());
});
//监听修改
gulp.task('watch',function(){
     gulp.watch('./views/*.css',['html']);
     gulp.watch('./views/*.js',['html']);
     gulp.watch('./views/*.html',['html']);
});

//使用gulp.task('default')定义默认任务
//在命令行使用gulp启动script,css,images任务和auto任务,connect,watch为自动刷新任务
gulp.task('default',['css','script','images','less','auto','connect','watch'])

7.执行

    gulp

 

ps:如直接复制gulpfile.js文件,需更改项目地址

转载于:https://www.cnblogs.com/CaktyRiven/p/6419719.html

相关文章:

  • RPG难题
  • 很不错标签云js插件
  • Atitit 遍历文件夹算法 autoit attilax总结
  • Hive常用命令
  • ArcGIS Runtime SDK for WPF之测量距离和面积
  • hash随笔
  • ELASTIC API
  • 关于版本强制升级与非强制升级
  • Syntax error, insert } to complete MethodBody
  • css之鼠标cursor
  • template.js小小说明
  • 阿里云centos6.5下搭建javaWeb运行环境
  • CPA-IBE
  • H5移动端开发入门知识以及CSS的单位汇总与用法
  • 修改或删除任务计划
  • $translatePartialLoader加载失败及解决方式
  • 5、React组件事件详解
  • java概述
  • Linux Process Manage
  • Making An Indicator With Pure CSS
  • Mithril.js 入门介绍
  • PaddlePaddle-GitHub的正确打开姿势
  • php中curl和soap方式请求服务超时问题
  • 从重复到重用
  • 订阅Forge Viewer所有的事件
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 聊一聊前端的监控
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 前端面试总结(at, md)
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 如何优雅地使用 Sublime Text
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 移动端 h5开发相关内容总结(三)
  • 优化 Vue 项目编译文件大小
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​低代码平台的核心价值与优势
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • ()、[]、{}、(())、[[]]命令替换
  • (10)STL算法之搜索(二) 二分查找
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (LeetCode C++)盛最多水的容器
  • (三)Honghu Cloud云架构一定时调度平台
  • (四)汇编语言——简单程序
  • (转)Scala的“=”符号简介
  • . Flume面试题
  • .NET 8.0 发布到 IIS
  • .NET DataGridView数据绑定说明
  • .NET Framework .NET Core与 .NET 的区别
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .net2005怎么读string形的xml,不是xml文件。