gulp 来自 html 块的管道脚本,并动态设置 html 块的替换名称

gulp pipe scripts from html block, and set the replacement name for the html-block dynamically

也许有人可以指出解决方案。

我有 HTML 个带有几个脚本标签的文件。我需要

  1. 管道引用的脚本文件
  2. 用动态路径替换 html 文件中的块

我尝试使用 gulp-useref,它可以满足我的所有需求,但它不允许动态更改替换脚本名称(必须在 html 评论中说明)

另一个插件 gulp-html-replace 完全满足了我的替换需求,但根本没有管道引用的脚本。

解决这类任务的常用方法是什么?因为它似乎并不奇怪。提前致谢。

最后决定两者都用。

HTML:

<!-- build:js_replace -->
<!-- build:js INTERMEDIATE.js -->
    <script type="text/javascript" src="scripts/script1.js"></script>
    <script type="text/javascript" src="scripts/script2.js"></script>
<!-- endbuild -->
<!-- endbuild -->

在gulpfile.js中:

gulp.src(dirName + '/*.html')
.pipe(useref({}))
.pipe(gif("**/*.js", rename(function (filePath) {
    filePath.basename = "someotherfilename";
})))

// ... Upload to cloud storage

.pipe(gif("**/*.html", htmlreplace({
    js_replace: CLOUD_STORAGE_URL + "/scripts/someotherfilename.js"
})))
.pipe(gif("**/*.html", gulp.dest("./build/")));