gulp-rev-collector 路径资源替换失败

新手上路,请多包涵

1、项目为主站和子站再位于同一个项目目录下,

index.html资源引用 <link rel="stylesheet" href="css/index.css">
academy.html资源引用 <link rel="stylesheet" href="css/main.css">

即各自文件引用各自文件目录下的资源,再rev-collector做资源替换时,子目录下的资源替换不成功,rev-manifest.json资源映射表映射关系不正确,导致academy.html引用资源失败,我要怎么修改html头部资源的引用路径或者修改gulp task呢?

求前辈指导。感谢!

项目目录结构如下:

├── dist
│   ├── academy
│   │      ├── css
│   │      │    └── main.css
│   │      ├── js
│   │      └── academy.html
│   ├── css
│   ├── js
│   └── index.html
└── src
    ├── academy
    │      ├── css
    │      │    └── main.css
    │      ├── js
    │      └── academy.html
    ├── css
    ├── js
    └── index.html

rev-manifest.json映射表如下:

  "css/page.css": "css/page-ec54631ac2.css",
  "academy/css/main.css": "academy/css/main-803c4ba942.css",

由于json映射多了一层academy目录,和html的引用路径对应不上,所以资源替换不了

gulp task如下:

gulp.task('css', function () {
        return gulp.src([Config.css.src, '!src/**/*.min.css'])
            .pipe(rev())
            .pipe(miniCss())
            .pipe(gulp.dest(Config.css.dist))
            .pipe(rev.manifest())
            .pipe(gulp.dest(Config.css.rev))
    });
    gulp.task('rev', function () {
        return gulp.src(['dist/rev/**/*.json','dist/**/*.html'])
            .pipe(revCollector())
            .pipe(gulp.dest('dist/'))
    });
阅读 4.6k
1 个回答

你好,楼主遇到的这个问题现在解决了吗?我现在也遇到了同样的问题,不知道自己是哪里路径写错了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进