我正在用 gulp 缩小 index.html 文件(注意:接管了这个项目,构建系统已由前开发人员完成)。
一切正常,但是 gulp 任务会生成一个 HTML 文件,该文件有一个神秘的扩展名,例如:
索引-bd2c7f58f0.html
我知道这一定有它的优势,但我不明白是什么...... :)因为现在的缺点是:
- 节点服务器需要存在
index.html
文件以允许'/'
路由工作。 - 到目前为止,我要么必须在每次构建时复制文件,要么创建需要在每次构建时更新的链接
我错过了什么?我应该只指示 gulp 创建一个普通index.html
文件,还是这里的最佳实践是什么?
此外,各种插件调用中的哪一个实际上负责将该扩展名附加到文件名?
编辑:似乎是 gulp-rev 和 revReplace 调用
这是我正在使用的 gulp 任务:
gulp.task('html', ['styles', 'scripts'], function () {
var client = buildHTML('./client/index.html', './dist/public');
return merge(client);
});
function buildHTML(index, distFolder) {
var lazypipe = require('lazypipe');
var saveHTML = lazypipe()
.pipe($.htmlmin, {
removeComments: true,
removeOptionalTags: true
})
.pipe(gulp.dest, distFolder);
return gulp.src(index)
.pipe($.useref())
.pipe($.rev())
.pipe($.revReplace({replaceInExtensions: ['.js', '.css', '.html', '.ejs']}))
.pipe($.if('*.html', saveHTML()));
}