v_Cloud 2018-12-28 19:40 采纳率: 50%
浏览 942

gulp添加版本号,rename之后,路径替换失败

const gulp = require('gulp')              // 引入 gulp
const uglify = require('gulp-uglify')     // 压缩js
const jshint = require('gulp-jshint') // 验证js
const minifyHtml = require('gulp-minify-html') // 压缩html
const pump = require('pump')
const clean = require('gulp-clean')
const rev = require('gulp-rev')
const revCollector = require('gulp-rev-collector')
const minifyCss = require('gulp-minify-css')
const imagemin = require('gulp-imagemin')
const autoprefixer = require('gulp-autoprefixer')
const runSequence = require('run-sequence')
const rename = require('gulp-rename')

const jsSrc = 'js/*.js'
const cssSrc = 'css/*.css'
const htmlSrc = '*.html'
const imgSrc = 'img/*.{jpg,png,gif,ico}'

gulp.task('img', function () {
  return gulp.src(imgSrc)
    .pipe(imagemin())
    .pipe(gulp.dest('dist/img'))
})

gulp.task('clean', function (done) {
  pump([
    gulp.src('dist/**/*'),
    clean()
  ], done)
})

gulp.task('js', function () {           // task 任务定义,'minjs' 自定义任务名
  return gulp.src(jsSrc)                 // src 定义任务文件
    .pipe(jshint())
    .pipe(uglify())                        // .pipe() 链式编码,管道过程执行任务
    .pipe(rename({
      suffix: '.min'
    }))
    .pipe(rev())
    .pipe(gulp.dest('dist/js'))
    .pipe(rev.manifest())
    .pipe(gulp.dest('dist/rev/js'))
})

gulp.task('css', function () {
  return gulp.src(cssSrc)
    .pipe(autoprefixer({
      // browsers: ['last 2 versions'],      // 浏览器版本
      cascade: true,                       // 美化属性,默认true
      add: true,                           // 是否添加前缀,默认true
      remove: true,                        // 删除过时前缀,默认true
      flexbox: true,                      // 为flexbox属性添加前缀,默认true
      flexbox: true,                      // 为flexbox属性添加前缀,默认true
    }))
    .pipe(minifyCss())
    .pipe(rename({
      suffix: '.min'
    }))
    .pipe(rev())
    .pipe(gulp.dest('dist/css'))
    .pipe(rev.manifest())
    .pipe(gulp.dest('dist/rev/css'))
})

gulp.task('copy', function () {
  return gulp.src([
    '**/*.*',
    '!img/**/*.*',
    '!js/**/*.*',
    '!rev/**/*.*',
    '!css/**/*.*',
    '!node_modules/**/*.*',
    '!gulpfile.js',
    '!package.json'
  ])
    .pipe(gulp.dest('dist'))
})


gulp.task('html', function() {
  return gulp.src(htmlSrc)
    .pipe(minifyHtml())
    .pipe(gulp.dest('dist'))
});

gulp.task('rev-html', function () {
  return gulp.src(['./dist/rev/**/*.json', './dist/*.html'])
    .pipe(revCollector({
      replaceReved: true
    }))
    .pipe(gulp.dest('dist'))
})

gulp.task('default', function (callback) {
  runSequence('clean', ['img', 'js', 'css', 'copy', 'html'], 'rev-html', callback)
})

将css和js重命名方法去除才可以替换资源路径
.pipe(rename({
suffix: '.min'
}))
怎么解决rename之后的html路径替换

  • 写回答

1条回答 默认 最新

  • dabocaiqq 2018-12-28 16:07
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 lammps Gpu加速出错
  • ¥15 关于PLUS模型中kapaa值的问题
  • ¥15 关于博途V17进行仿真时无法建立连接问题
  • ¥15 机器学习教材中的例题询问
  • ¥15 求.net core 几款免费的pdf编辑器
  • ¥15 为什么安装HCL 和virtualbox之后没有找到VirtualBoxHost-OnlyNetWork?
  • ¥15 C# P/Invoke的效率问题
  • ¥20 thinkphp适配人大金仓问题
  • ¥20 Oracle替换.dbf文件后无法连接,如何解决?(相关搜索:数据库|死循环)
  • ¥15 数据库数据成问号了,前台查询正常,数据库查询是?号