zoukankan      html  css  js  c++  java
  • gulp添加版本号解决缓存问题

    gulp添加版本号解决缓存问题

    方案:解决缓存问题,发布前添加版本号

    文件夹结构

    1597893115879

    //gulpfile.js

    const gulp = require('gulp');
    // 文件清理
    const clean = require('gulp-clean');
    // 加版本号
    const assetRev = require('gulp-asset-rev');

    // 给html添加版本号
    gulp.task('htmlminTask', function() {
    gulp.src('src/*.html') //创建一个流,用于从文件系统读取 Vinyl 对象
    .pipe(assetRev()) //管道方法
    .pipe(gulp.dest('dist/')) //创建一个用于将 Vinyl 对象写入到文件系统的流
    gulp.src('src/index.html')
    .pipe(assetRev())
    .pipe(gulp.dest('dist/'))
    gulp.src(['src/**/*.html']) //** 匹配多个目录及子目录 *匹配0或多个字符
    .pipe(assetRev())
    .pipe(gulp.dest('dist/'))
    })

    // 文件复制 复制没有经过处理的文件 不添加此代码 生成得dist仅为打包执行的东西
    gulp.task('copyTask', function() {
    gulp.src('src/asset/css/**/*')
    .pipe(gulp.dest('dist/asset/css/'))
    gulp.src('src/asset/js/**/*')
    .pipe(gulp.dest('dist/asset/js/'))
    gulp.src('src/asset/img/**/*')
    .pipe(gulp.dest('dist/asset/img'))
    })

    // 清理文件
    gulp.task('cleanTask', function() {
    var stream = gulp.src('dist', { read: false }) // 清理maps文件
    .pipe(clean())
    return stream
    })
    // 打包
    gulp.task('default', ['cleanTask', 'htmlminTask', 'copyTask']); //gulp执行顺序
    //package.json
    {
     "name": "gulp2",
     "version": "1.0.0",
     "description": "",
     "main": "gulpfile.js",
     "devDependencies": {
       "babel-core": "^6.26.3",
       "babel-preset-es2015": "^6.24.1",
       "gulp": "^3.9.1",
       "gulp-asset-rev": "0.0.15",
       "gulp-babel": "^7.0.1",
       "gulp-changed": "^3.1.0",
       "gulp-clean": "^0.3.2",
       "gulp-clean-css": "^3.8.0",
       "gulp-copy": "^1.0.1",
       "gulp-htmlmin": "^3.0.0",
       "gulp-uglify": "^3.0.0"
    },
     "scripts": {
       "test": "echo "Error: no test specified" && exit 1"
    },
     "author": "",
     "license": "ISC"
    }

     

    1. 环境配置

      https://nodejs.org/en/download/

      运行node -v

    2. 运行cmd,安装淘宝镜像

      npm install cnpm -g --registry=https://registry.npm.taobao.org
    3. 新建src,把项目目录拖到src

    4. 新建gulpfile.js,内部参数匹配有规则,内部逻辑就用封装好的

    5. 下载package.json包里的插件,运行 cmd npm i或 cnpm i 会看到多了一个node_modules的依赖包

    6. 替换代码更改版本号拼接

      进入到./node_modules/_gulp-asset-rev@0.0.15@gulp-asset-rev文件夹下的index.js文件

      找到第80或81行的 src = src.replace(verStr, '').replace(/(..+)$/, verStr + "$1");

      更改成 src = src += "?v=" + verStr;

    7. 运行cmd 输入 gulp

     

     

     

    相关连接:

    //安装node //https://www.cnblogs.com/xinaixia/p/8279015.html

    //复制整个文件夹或文件到指定目录 //https://blog.csdn.net/hsl0530hsl/article/details/78362705

    //自动更新版本号 //https://blog.csdn.net/chen_enson_1/article/details/85780786

  • 相关阅读:
    奥数视频
    提车应该检查哪?4S店都怕你检查这4个“雷区”,别等后悔才知道
    乒乓球拍子和套胶选择
    2018天津英华国际学校初中报名指南
    水瓶座出生日期是几月几号到几月几号
    乒乓球 世锦赛
    鸡蛋羹要怎么蒸才会更嫩?秘诀在这里
    家庭理财方法:知道这7个定律可以帮你赚更多钱!
    要知道股市有“三底”,估值底、政策底、市场底!
    DbMigration使用方法
  • 原文地址:https://www.cnblogs.com/hanhaiyuntao/p/11507610.html
Copyright © 2011-2022 走看看