gulp 图片、样式、js、实时刷新等压缩gulpfile.js文件各个模块
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文件各个模块的更多相关文章
- gulp入坑系列(2)——初试JS代码合并与压缩
在上一篇里成功安装了gulp到项目中,现在来测试一下gulp的合并与压缩功能 gulp入坑系列(1)--安装gulp(传送门):http://www.cnblogs.com/YuuyaRin/p/61 ...
- gulp学习指南之CSS合并、压缩与MD5命名及路径替换
1.引入插件 var gulp = require('gulp'), // uglify = require('gulp-uglify'), concat = require('gulp-concat ...
- 编写gulpfile.js文件:压缩合并css、js
使用gulp一共有四个步骤: 1. 全局安装 gulp: $ npm install --global gulp 2. 作为项目的开发依赖(devDependencies)安装: $ npm inst ...
- uglifyjs2压缩混淆js文件
uglifyjs可以用来压缩混淆js文件,发布release版本应用利器.在StackOverflow浏览了一下,相比Google Closure和YUI compressor,uglifyjs被推荐 ...
- require.js 加载 vue组件 r.js 合并压缩
https://www.taoquns.com 自己搭的个人博客 require.js 参考阮一峰 Javascript模块化编程(三):require.js的用法 r.js 合并压缩 参考司徒正美 ...
- gulp自动刷新和css、js压缩
之前搭建过Grunt,但是用起来有点繁琐,后来有人跟我说gulp更多简单.所以今天又搭建一个gulp.在使用gulp前应该有nodeJs环境,安装完nodejs后,就可以开始gulp的搭建了. 先新建 ...
- gulp使用 实现文件修改实时刷新
gulp例子:https://github.com/Aquarius1993/gulpDemo 淘宝镜像:$ npm install -g cnpm --registry=https://regist ...
- 移动端图片上传解决方案localResizeIMG先压缩后ajax无刷新上传
现在科技太发达,移动设备像素越来越高,随便一张照片2M+,但是要做移动端图片上传和pc上略有不同,移动端你不能去限制图片大小,让用户先处理图片再上传,这样不现实.所以理解的解决方案就是在上传先进行图片 ...
- 适用于各浏览器支持图片预览,无刷新异步上传js插件
文件上传无疑是web应用中一个非常常用的功能,不管是PHP.jsp还是aspx.mvc等都会需要文件上传,但是众所周知当使用自带的文件上传功能时总会出现页面刷新的情况.当然现在有了html5这个好东西 ...
随机推荐
- fdsf
https://blog.csdn.net/chen_2890/article/details/83757022Elasticsearch环境搭建和介绍(Windows) https://blog.c ...
- C#根据url生成唯一的key
根据url生成唯一的idkey,记录并分享: public class UrlToUniqueKey { ); , ] { { 0L, 0L }, { -4611686018427387904L, - ...
- 使用CMD命令行来对MySQL数据库执行迁移、备份、恢复
1. 导出数据库数据 "C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqldump.exe" -u root -p123abc ...
- windows运行打开服务命令的方法 :
windows运行打开服务命令的方法 : 在开始->运行,输入以下命令 1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup------ ...
- zabbix自定义key监控redis
一.启动redis-server cd /data/redis redis-server redis.conf (根据自己的环境启动redis) 测试脚本(写入1000个数据): seq |while ...
- 关于select Count()的使用和性能问题
比如Count(*) FROM E_Table WHERE [date] > '2008-1-1' AND istrue = 0 由于操作的数据比较大(400万以上),所以使用了两个数据库,一个 ...
- [SoapUI] 在某个测试步骤下面增加Script Assertion,运用 messageExchange 获取response content
import com.eviware.soapui.support.GroovyUtils import com.eviware.soapui.support.XmlHolder import org ...
- easyui tabs update 强制刷新页面
var tab = artDialog.open.origin.$("#tabs").tabs("getTab", "公司评级"); var ...
- Hash校验工具、MD5 SHA1 SHA256命令行工具
MyHash 检验工具http://www.zdfans.com/html/4346.html HashMyFiles Hash校验工具http://www.nirsoft.net/utils/has ...
- javascript总结27 :特殊引用类型String/Number/Boolean
为了方便操作基本数据类型,JavaScript还提供了三个特殊的引用类型:String/Number/Boolean 1 Number 例如: var s1 = "zhangsan&quo ...