1.压缩tinypng图片   gulp-tinypng-nokey,但不压缩gif格式(另外一个gulp-imagemin压缩率不高,可以压缩gif格式)

// 获取 gulp
var gulp = require('gulp'); // 获取 gulp-imagemin 模块
var imagemin = require('gulp-tinypng-nokey') // 压缩图片任务
// 在命令行输入 gulp-tinypng-nokey 启动此任务
gulp.task('images', function () {
// 1. 找到图片
gulp.src('E:/work/d1xz/www/statics/ffsm/aiqingtl/1/images/*.*')
// 2. 压缩图片
.pipe(imagemin({
progressive: true
}))
// 3. 另存图片
.pipe(gulp.dest('dist/images'))
}); // 在命令行使用 gulp auto 启动此任务
gulp.task('auto', function () {
// 监听文件修改,当文件被修改则执行 images 任务
gulp.watch('images/*.*', ['images'])
}); // 使用 gulp.task('default') 定义默认任务
// 在命令行使用 gulp 启动 images 任务和 auto 任务
gulp.task('default', ['images', 'auto'])

2.压缩css  gulp-minify-css

// 获取 gulp
var gulp = require('gulp') // 获取 minify-css 模块(用于压缩 CSS)
var minifyCSS = require('gulp-minify-css') // 压缩 css 文件
// 在命令行使用 gulp css 启动此任务
gulp.task('css', function () {
// 1. 找到文件
gulp.src('E:/work/d1xz/www/statics/xingzuo360/pc/css/*.css')
// 2. 压缩文件
.pipe(minifyCSS())
// 3. 另存为压缩文件
.pipe(gulp.dest('dist/css'))
}) // 在命令行使用 gulp auto 启动此任务
gulp.task('auto', function () {
// 监听文件修改,当文件被修改则执行 css 任务
gulp.watch('css/*.css', ['css'])
}); // 使用 gulp.task('default') 定义默认任务
// 在命令行使用 gulp 启动 css 任务和 auto 任务
gulp.task('default', ['css', 'auto'])

3.压缩js  gulp-uglify

// 获取 gulp
var gulp = require('gulp') // 获取 uglify 模块(用于压缩 JS)
var uglify = require('gulp-uglify') // 压缩 js 文件
// 在命令行使用 gulp script 启动此任务
gulp.task('js', function() {
// 1. 找到文件
gulp.src('E:/work/d1xz/www/statics/xingzuo360/pc/js/1/*.js')
// 2. 压缩文件
.pipe(uglify())
// 3. 另存压缩后的文件
.pipe(gulp.dest('dist/js'))
}) // 在命令行使用 gulp auto 启动此任务
gulp.task('auto', function () {
// 监听文件修改,当文件被修改则执行 script 任务
gulp.watch('js/*.js', ['script'])
}) // 使用 gulp.task('default') 定义默认任务
// 在命令行使用 gulp 启动 script 任务和 auto 任务
gulp.task('default', ['js', 'auto'])

4.实时刷新  browser-sync

var gulp = require('gulp');
var browserSync = require('browser-sync').create();// 静态服务器
gulp.task('server', function() {
var files = [
'pages/*.html',
'css/*.css',
'js/*.js'
];
browserSync.init({
server: { baseDir: "./" }
});
});// 代理
gulp.task('server', function() {
browserSync.init({ proxy: "dev.ffsm.d1xz.net" });//proxy: "你的域名或IP"
});//这个可以注释掉,不写也行。目前我还没有发现这个的用法
gulp.task('watch', function () {
gulp.watch([
'css/*.css',
'pages/*.html',
'js/*.js'
], ['browser-sync']);
});
gulp.task('default', ['server','watch']);

5.合并在一起gulpfile.js

var gulp = require('gulp'),
browserSync = require('browser-sync').create(),// 实时刷新
imagemin = require('gulp-tinypng-nokey'),//压缩图片
uglify = require('gulp-uglify'),//压缩js
minifyCSS = require('gulp-minify-css');//压缩css
//一、 实时刷新
gulp.task('server', function() {
var files = [
'pages/*.html',
'css/*.css',
'js/*.js'
];
browserSync.init({
server: { baseDir: "./" }
});
});// 代理
gulp.task('server', function() {
browserSync.init({ proxy: "dev.ffsm.d1xz.net" });
});
//二、 压缩 css 文件
// 在命令行使用 gulp css 启动此任务
gulp.task('css', function () {
// 1. 找到文件
gulp.src('E:/work/d1xz/www/statics/ffsm/danshengz/1/*.css')
// 2. 压缩文件
.pipe(minifyCSS())
// 3. 另存为压缩文件
.pipe(gulp.dest('dist/css'))
}); // 在命令行使用 gulp auto 启动此任务
gulp.task('autocss', function () {
// 监听文件修改,当文件被修改则执行 css 任务
gulp.watch('css/*.css', ['css'])
});
//三、 压缩 js 文件
// 在命令行使用 gulp script 启动此任务
gulp.task('js', function() {
// 1. 找到文件
gulp.src('E:/work/d1xz/www/statics/ffsm/danshengz/1/*.js')
// 2. 压缩文件
.pipe(uglify())
// 3. 另存压缩后的文件
.pipe(gulp.dest('dist/js'))
}); // 在命令行使用 gulp auto 启动此任务
gulp.task('autojs', function () {
// 监听文件修改,当文件被修改则执行 script 任务
gulp.watch('js/*.js', ['script'])
});
//四、 压缩图片任务
// 在命令行输入 gulp images 启动此任务
gulp.task('images', function () {
// 1. 找到图片
gulp.src('E:/work/d1xz/www/statics/ffsm/danshengz/1/images/*.*')
// 2. 压缩图片
.pipe(imagemin({
progressive: true
}))
// 3. 另存图片
.pipe(gulp.dest('dist/images'))
}); // 在命令行使用 gulp auto 启动此任务
gulp.task('autoimg', function () {
// 监听文件修改,当文件被修改则执行 images 任务
gulp.watch('images/*.*', ['images'])
});

6.package.json

{
"devDependencies": {
"browser-sync": "^2.18.6",
"gulp": "^3.9.1",
"gulp-cache": "^1.0.1",
"gulp-clean": "^0.3.2",
"gulp-imagemin": "^3.1.1",
"gulp-jshint": "^2.0.4",
"gulp-minify-css": "^1.2.4",
"gulp-rename": "^1.2.2",
"gulp-replace": "^0.6.1",
"gulp-tinypng-nokey": "^1.1.0",
"gulp-uglify": "^2.0.0",
"has-gulplog": "^0.1.0",
"jshint": "^2.9.4",
"minimist": "^1.2.0",
"stream-consume": "^0.1.0"
}
}

gulp 图片、样式、js、实时刷新等压缩gulpfile.js文件各个模块的更多相关文章

  1. gulp入坑系列(2)——初试JS代码合并与压缩

    在上一篇里成功安装了gulp到项目中,现在来测试一下gulp的合并与压缩功能 gulp入坑系列(1)--安装gulp(传送门):http://www.cnblogs.com/YuuyaRin/p/61 ...

  2. gulp学习指南之CSS合并、压缩与MD5命名及路径替换

    1.引入插件 var gulp = require('gulp'), // uglify = require('gulp-uglify'), concat = require('gulp-concat ...

  3. 编写gulpfile.js文件:压缩合并css、js

    使用gulp一共有四个步骤: 1. 全局安装 gulp: $ npm install --global gulp 2. 作为项目的开发依赖(devDependencies)安装: $ npm inst ...

  4. uglifyjs2压缩混淆js文件

    uglifyjs可以用来压缩混淆js文件,发布release版本应用利器.在StackOverflow浏览了一下,相比Google Closure和YUI compressor,uglifyjs被推荐 ...

  5. require.js 加载 vue组件 r.js 合并压缩

    https://www.taoquns.com 自己搭的个人博客 require.js 参考阮一峰 Javascript模块化编程(三):require.js的用法 r.js 合并压缩 参考司徒正美 ...

  6. gulp自动刷新和css、js压缩

    之前搭建过Grunt,但是用起来有点繁琐,后来有人跟我说gulp更多简单.所以今天又搭建一个gulp.在使用gulp前应该有nodeJs环境,安装完nodejs后,就可以开始gulp的搭建了. 先新建 ...

  7. gulp使用 实现文件修改实时刷新

    gulp例子:https://github.com/Aquarius1993/gulpDemo 淘宝镜像:$ npm install -g cnpm --registry=https://regist ...

  8. 移动端图片上传解决方案localResizeIMG先压缩后ajax无刷新上传

    现在科技太发达,移动设备像素越来越高,随便一张照片2M+,但是要做移动端图片上传和pc上略有不同,移动端你不能去限制图片大小,让用户先处理图片再上传,这样不现实.所以理解的解决方案就是在上传先进行图片 ...

  9. 适用于各浏览器支持图片预览,无刷新异步上传js插件

    文件上传无疑是web应用中一个非常常用的功能,不管是PHP.jsp还是aspx.mvc等都会需要文件上传,但是众所周知当使用自带的文件上传功能时总会出现页面刷新的情况.当然现在有了html5这个好东西 ...

随机推荐

  1. 将DataTable中的数据导出成Excel

    public bool ExportFile(System.Data.DataTable dt){    SaveFileDialog sfd = new SaveFileDialog();    s ...

  2. HRESULT:0x80070057 (E_INVALIDARG)

    笔记本蓝屏后,在vs2010中调试项目时出现该异常, 解决方法:清空C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Fi ...

  3. XIb中使用tableview报错UIViewAlertForUnsatisfiableConstraints

    1.使用断点工具并不能找出错误,最后仔细看了下报错信息 2.报错信息 [LayoutConstraints] Unable to simultaneously satisfy constraints. ...

  4. mysql5.6配置semi_sync

    测试环境:Red Hat Enterprise Linux Server release 6.3 (Santiago)Server version: 5.6.22-log MySQL Communit ...

  5. GitHub 上的十一款热门开源安全工具

    作为开源开发领域的基石,“所有漏洞皆属浅表”已经成为一条著名的原则甚至是信条.作为广为人知的Linus定律,当讨论开源模式在安全方面的优势时,开放代码能够提高项目漏洞检测效率的理论也被IT专业人士们所 ...

  6. It's not too late to start!

    It's not too late to start! 以此鼓励,希望能坚持下去,一个半路自学PHP的准PHPer!

  7. strtotime()

    date('Y-m-d H:i:s',time()) //24小时 date('Y-m-d h:i:s',time()) //12小时

  8. .net正则查询

    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI ...

  9. XStream(xml/bean转换)

    XStream 1. 什么作用  * 可以把JavaBean转换为(序列化为)xml 2. XStream的jar包  * 核心JAR包:xstream-1.4.7.jar:  * 必须依赖包:xpp ...

  10. python nose的html报告优化

    用的是nose的nose-html-reporting (0.2.3)插件生成报告.用了bootstrap前端框架,加入了开始时间和计算持续时间,及其本地化. 优化后的显示效果: 代码地址