我是使用 gulp 的新手,正在尝试为我的项目创建一个 gulpfile。
我的第一个任务是合并 index.html 中存在的所有脚本和链接标签,并仅用一个标签替换它们。为了达到这个目的,我正在使用 gulp-useref,如下所示。
gulp.task('useref', ['clean'], function () {
return gulp.src(config.paths.app.src + 'index.html')
.pipe(gulpif('*.js', uglify()))
.pipe(gulpif('*.css', cleanCSS()))
.pipe(useref())
.pipe(gulp.dest(config.paths.dist.src))
});
这个东西只是连接和缩小我所有的 JS 和 CSS 文件,并为它们创建一个脚本和链接标签。一切都很好,直到这里。
现在,我也希望对组合的 JS 和 CSS 文件实现散列。为此,我正在使用 gulp-rev 和 gulp-rev-replace 插件,如下所示。
gulp.task('useref', ['clean'], function () {
return gulp.src(config.paths.app.src + 'index.html')
.pipe(gulpif('*.js', uglify()))
.pipe(gulpif('*.css', cleanCSS()))
.pipe(useref())
.pipe(rev())
.pipe(revReplace())
.pipe(gulp.dest(config.paths.dist.src))
});
这也很有效,但对于一件小事。它不仅为我的 JS 和 CSS 文件,而且为我的 index.html 文件以及下面的文件创建散列文件名。
有没有一种方法可以避免重命名 index.html 文件,同时仍然保留 JS 和 CSS 散列文件名,因为我的服务器会在文件夹中查找 index.html 文件而不是 index-******* **.html?
谢谢。