package.json

{
"name": "gulp",
"version": "0.0.1",
"description": "Pages for Staging Financial App",
"devDependencies": {
"browser-sync": "*",
"del": "*",
"gulp": "*",
"gulp-asset-rev": "*",
"gulp-concat": "*",
"gulp-if": "*",
"gulp-jshint": "*",
"gulp-load-plugins": "*",
"gulp-minify-css": "^*",
"gulp-minify-html": "*",
"gulp-sass": "*",
"gulp-size": "*",
"gulp-sourcemaps": "*",
"gulp-uglify": "*",
"gulp-useref": "*",
"run-sequence": "*"
},
"engines": {
"node": ">=0.10.0"
},
"private": true
}

gulpfile.js

/**
* Created by efric.hu on 2016/11/4.
*/
var gulp = require('gulp');
var $ = require('gulp-load-plugins')();
var del = require('del');
var runSequence = require('run-sequence');
var assetRev = require('gulp-asset-rev'); function gulpScripts(app_name) {
return gulp.src([app_name + '/**/*.js']) //源文件下的所有js
.pipe(assetRev()) //配置版本号
.pipe($.uglify()) //进行压缩,如果需要合并也可加上合并的代码
.pipe(gulp.dest(app_name + "_dist"));//复制到目标文件路径
} function gulpStyles(app_name) {
return gulp.src([app_name + '/**/*.css'])
.pipe(assetRev())
.pipe($.minifyCss())
.pipe(gulp.dest(app_name + "_dist"));
} function gulpImages(app_name) {
return gulp.src([app_name + '/**/images/*'])
.pipe(gulp.dest(app_name + "_dist")); //复制所有图片到目标文件夹
} function gulpRevHtml(app_name) {
gulp.src([app_name + '/*.html', app_name + '/**/*.html']) //源文件下面是所有html
.pipe(assetRev()) //配置引用的js和css文件,需要的话也可以用minifyHtml压缩html文件
.pipe(gulp.dest(app_name + '_dist')); //打包到目标文件夹路径下面
} gulp.task('app_scripts', function(){
gulpScripts("app");
});
gulp.task('app_styles', function(){
gulpStyles("app");
});
gulp.task('app_images',function(){
gulpImages("app");
});
gulp.task('app_rev', ['app_styles', 'app_scripts'], function(){
gulpRevHtml("app");
});
gulp.task('clean', del.bind(null, ['app_dist'], {
force: true
}));
gulp.task("beike", function() {
runSequence('clean', ["app_images", "app_rev"]);
});

所有项目文件定义在app文件夹下面,自动生成app_dist文件夹为实际添加版本后的项目文件

注意需要修改一个node_modules文件

node_modules --> gulp-assets-rev -->index.js

var verStr = (options.verConnecter || "ef-") + md5;
src = src + "?v=" + verStr;
// src = src.replace(verStr, '').replace(/(\.[^\.]+)$/, verStr + "$1");

  

最新文章

  1. Android计数器的实现(倒计时)
  2. [转载]Spring Bean Definition Inheritance
  3. ios fix UIRefreshControl bug
  4. 设置Tomcat应用自动部署目录
  5. canvas仿黑客帝国的字符下落
  6. mac下出现xcrun: error导致git、svn无法使用的解决办法
  7. mac os x使用Git和bitbucket
  8. ELK 6安装配置 nginx日志收集 kabana汉化
  9. GDKOI2017滚粗记
  10. C++版 - 剑指offer面试题28: 字符串的排列
  11. 阿里云Hadoop集群DataNode连接不上NameNode
  12. hadoop 安装之 hadoop、hive环境配置
  13. c# excel xlsx 保存
  14. C# Params的使用
  15. 利用Jmeter做接口测试的时候,如何提取头部的JSESSIONID然后传递到下一个请求,继续完成当前用户的请求。
  16. 深入解析Java反射(1) - 基础
  17. 设计模式之单例模式-C++
  18. python 基础部分重点复习整理--从意识那天开始进阶--已结
  19. 树莓派2B安装Xware迅雷远程下载
  20. JAR 文件格式提供了许多优势和功能

热门文章

  1. BZOJ1709超级弹珠
  2. JS读取/创建本地文件及目录文件夹的方法
  3. [LeetCode] Factorial Trailing Zeroes 阶乘末尾0
  4. python 集合比较(交集、并集,差集)
  5. 介绍Node.JS
  6. 转载——Java与WCF交互(二):WCF客户端调用Java Web Service
  7. AC日记——K-th Number poj 2104
  8. Thinkphp3.2.3的主从分离事务问题(坑!!!)
  9. 洛谷——P1617 爱与愁的一千个伤心的理由
  10. 常用 linux操作