在装好node.js的前提下第一步 在cmd命令行窗口运行

cd 到项目文件夹运行    npm init    运行完成后

第二步运行 npm install gulp --save-dev

第三部在相中创建js、css、html、image文件夹

第四部创建gulpfile.js文件js文件内容

var gulp = require('gulp');

gulp.task('task-name', function() {
      console.log("hello gulp")
});

然后在运行gulp task-name;

运行结果报错TypeError:Cannot read property 'apply' of undefined;

这里的报错解决办法 安装全局gulp-cli

npm install gulp-cli -g  在命令行运行这句话

在运行gulp  task-name 控制台会打印出hello gulp

项目目录展示:

下一步安装打包html需要用到的插件gulp-htmlmin插件

npm install gulp-htmlmin -s

安装完成后在gulpfile.js中间添加以下内容:

var gulp = require('gulp');

var htmlmin = require('gulp-htmlmin');

gulp.task('html',function(){
var options = {
        collapseWhitespace:true,
        collapseBooleanAttributes:true,
        removeComments:true,
        removeEmptyAttributes:true,
        removeScriptTypeAttributes:true,
        removeStyleLinkTypeAttributes:true,
        minifyJS:true,
        minifyCSS:true
};
gulp.src('html/*.html')
    .pipe(htmlmin(options))
    .pipe(gulp.dest('dest/html/'));
});

然后在命令行窗口运行gulp html,会在项目目录中生成dest文件里面就有html的压缩代码

下一步进行css打包压缩

先安装 gulp-cssmin插件和gulp-cssmin安装完成后再将下面代码贴进去

const cssmin = require('gulp-cssmin')//通过cssmin将上一步骤生产出的style.css去掉中间的空白,使他变成压缩格式
const rename = require('gulp-rename') //rename只是给上一步骤产出的压缩的styles.css重命名为style.min.css
var buildBasePath = 'dome'//css打包压缩代码
//gulp文件流:src表示源头->pipe表示管道->dest表示终点
gulp.task('css', function () {return gulp.src('css/*.css') //需要打包的css文件目录(gulp流的源头).pipe(cssmin()) //通过cssmin将上一步骤生产出的style.css去掉中间的空白,使他变成压缩格式.pipe(rename({suffix: '.min' //rename只是给上一步骤产出的压缩的styles.css重命名为style.min.css})).pipe(gulp.dest('dest/css')) //dest方法把上一步骤产出的style.min.css输出到“./dist/css”目录下(gulp流的终点)
})然后运行gulp css就完成css样式打包。

下一步图片打包压缩代码

const imagemin = require('gulp-imagemin') //压缩图片
cache = require('gulp-cache');
const del = require('del');
notify = require('gulp-notify');

先安装 gulp-cache、del插件和gulp-notify安装完成后再将下面代码贴进去

// Images打包压缩代码
gulp.task('images', function() {return gulp.src('image/*').pipe(cache(imagemin({optimizationLevel: 3,progressive: true,interlaced: true}))).pipe(gulp.dest('dest/image')).pipe(notify({message: 'Images task complete'}));
});gulp.task('clean', function(cb) {del(['dist/'], cb)
});

然后运行gulp images就完成img打包完成。

var uglify = require("gulp-uglify");

gulp.task("js",function(){gulp.src(["js/*.js"])//压缩之前的路径.pipe(uglify()).pipe(gulp.dest("dest/js"))压缩之后的路径
})

然后运行gulp js就完成js打包完成。

用gulp实现代码压缩、图片压缩和项目打包相关推荐

  1. 两行代码实现图片压缩

    两行代码实现图片压缩 相信大家经常会碰到上传图片的情景,如果图片过大,上传又有限制.这个时候就需要对图片进行压缩处理,截图有可能模糊或者尺寸依然较大,在线网站压缩又可能有隐私顾虑. 作为一个伪技术人员 ...

  2. glide 压缩图拍呢_用Glide-图片的压缩-图片压缩原理

    前言: 这一节里面我们将介绍Glide如何对图片进行压缩,这一点在加载图片较多或者加载的图片像素很高的程序里面至关重要 Glide 系列目录 1.Glide-入门教程 2.Glide-占位图以及加载动 ...

  3. 用Glide-图片的压缩-图片压缩原理

    前言: 这一节里面我们将介绍Glide如何对图片进行压缩,这一点在加载图片较多或者加载的图片像素很高的程序里面至关重要 Glide 系列目录 1.Glide-入门教程 2.Glide-占位图以及加载动 ...

  4. 续Gulp使用入门三步压缩图片

    gulp 压缩图片 压缩 图片文件可降低文件大小,提高图片加载速度. 找到规律转换为 gulp 代码 规律 找到 images/ 目录下的所有文件,压缩它们,将压缩后的文件存放在 dist/image ...

  5. Unity用代码设置图片的压缩格式(AssetImporter/TextureImporter)

    前言 项目中,图集图片的压缩格式可能需要统一处理,如果挨个挨个设置实在太麻烦了,可以使用代码对图片压缩格式进行设置. 代码示例 以设置NGUI的图集的png大图的压缩格式在Android平台设置为ET ...

  6. java 压缩图片时候加水印

    直接上代码: 图片压缩加水印 @Testpublic void TetsShuiYin() {// String path1 = "D:\\temp\\Flower.PNG"; / ...

  7. 微信截屏分享、图片压缩处理!

    情景 项目当中需要截取当前屏幕图片,然后处理分享到微信朋友或朋友圈.微信分享图片需要设置一张不超过32K大小的缩略图,超过32K将导致分享失败.功能是已经上线,过程中有些细节和注意的地方,在这里分享下 ...

  8. Java图片压缩大小,图片缩放

    添加依赖 <!-- 图片缩略图 --><dependency><groupId>net.coobird</groupId><artifactId& ...

  9. Java使用thumbnailator进行图片压缩缩放裁剪水印旋转处理

    Java使用thumbnailator进行图片压缩缩放裁剪水印旋转处理 一.thumbnailator介绍 二.使用步骤 1.maven的pom.xml引入如下 2.测试代码 一.thumbnaila ...

  10. 性能优化——图片压缩、加载和格式选择

    本文首发于政采云前端团队博客:性能优化--图片压缩.加载和格式选择 https://www.zoo.team/article/images-compress 前言 相信大家都听说过 "258 ...

最新文章

  1. 回顾2016,展望2017
  2. LiveVideoStack线上分享第五季(一):企业视频会议场景下的流量分发和弱网优化...
  3. 对象工厂PHP,php – 域对象工厂是什么样的?
  4. avast从隔离区恢复后,仍无法打开被误杀文件的解决方案
  5. react-native 安装的时候遇到的问题
  6. 使用CSE轻松实现接口访问控制
  7. 大数据之-Hadoop3.x_MapReduce_ReduceJoin案例需求分析---大数据之hadoop3.x工作笔记0128
  8. SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
  9. 常见的排序算法四——直接选择排序
  10. Tableau最新版安装下载
  11. 极光im php,极光IM- IM 集成指南 - 极光文档
  12. 测试岗(平安银行)面试总结
  13. 你不知道流量宝的神操作就能免费增加20万网站PV浏览量
  14. SSM框架整合(xml配置)
  15. 离散信号(七)| 离散傅里叶变换(DFT)推导
  16. 循环类测验(下)7-10 不变初心数 (15 分)
  17. Unity3dC#分布式游戏服务器ET框架介绍-组件式设计
  18. html实现五子棋ai,JS实现五子棋——AI篇
  19. 通过微信扫码登录剖析 oauth2 认证授权技术
  20. linux ps2键盘驱动,Linux下USB模拟ps2鼠标驱动

热门文章

  1. 如何写好CSS?(OOCSS DRY SMACSS)
  2. java进制转换界面,java进制转换器 图形用户界面 十进制及其相反数诀别转化为二,四,八,十六进制...
  3. python uniform 函数
  4. 基于winform(C#)的飞鸟小游戏
  5. USRP 型号对比与挑选
  6. JavaSE自学笔记013_Real(抽象类、接口、两种设计模式)
  7. Redis缓存一致性问题解决方案
  8. 三角形的平移、旋转,在VC上实现(矩阵的应用)
  9. datastage配置jdbc_Datastage 11.5新功能介绍----Hive Connector
  10. UnicodeEncodeError: 'ascii' codec can't encode character u'\u548c' in position 0: ordinal not in ran