我正在尝试转换java脚本扩展名' .js'到' .js.gz'。为此,我选择了gulp-html-replace模块。但我无法得到理想的结果。对于下面的示例,我使用两个脚本,但我有更多。
index.html(之前):
<!-- build:js -->
<script src="routing_components/app-routing/app-routing.component.js"></script>
<script src="routing_components/home-routing/home-routing.component.js"></script>
<!-- endbuild -->
index.html(在gulp index.html之后应该是这样的):
<script src="routing_components/app-routing/app-routing.component.js.gz"></script>
<script src="routing_components/home-routing/home-routing.component.js.gz"></script>
但是我在运行gulp任务后得到了这个
<script src="index.js.gz"></script>
Gulp任务:
gulp.task('index_gzip', function () {
gulp.src('app/index.html')
.pipe(htmlreplace({
js: {
src: null,
tpl: '<script src="%f.js.gz"></script>'
}
}))
.pipe(gulp.dest(function (file) {
return file.base;
}))
});
如果有人知道更好的模块用于此类任务,请推荐。请帮助纠正我的gulp任务
答案 0 :(得分:0)
试试这个插件gulp-replace。但我不知道为什么正则表达式分组不正常。
var replace = require('gulp-replace');
gulp.task('index_gzip', function () {
gulp.src('app/index.html')
.pipe(replace(/(<script.*?src=\")(.*?).js\"/g, '$1$2.js.gz"'))
.pipe(gulp.dest(function (file) {
return file.base;
}))
});