У меня есть ресурс publi c, подобный этому:
public/
xyz/
index.html
js/
a.js
b.js
css/
a.css
b.css
Я хочу использовать gulp-useref
для построения html, я изменяю index.html
на этот:
<!-- build:css /xyz/css/index.css -->
<link href="/xyz/css/a.css" rel="stylesheet" />
<link href="/xyz/css/b.css" rel="stylesheet" />
<!-- endbuild -->
<!-- build:js /xyz/js/index.js -->
<link href="/xyz/js/a.js" rel="stylesheet" />
<link href="/xyz/js/b.js" rel="stylesheet" />
<!-- endbuild -->
Я пишу gulp следующим образом:
gulp.task("html", async function() {
gulp.src("public/xyz/*.html")
.pipe(useref())
.pipe(gulpif("*.js", uglify()))
.pipe(gulpif("*.css", cssMin()))
.pipe(gulp.dest("dist/public/xyz"))
})
Первая проблема: useref не может найти absolute path: /xyz/js/a.js
.
Затем я пытаюсь изменить html шаблон для этого:
<!-- build:css /xyz/css/index.css -->
<link href="css/a.css" rel="stylesheet" />
<link href="css/b.css" rel="stylesheet" />
<!-- endbuild -->
<!-- build:js /xyz/js/index.js -->
<link href="js/a.js" rel="stylesheet" />
<link href="js/b.js" rel="stylesheet" />
<!-- endbuild -->
Он работает нормально, затем Возникает вторая проблема , useref создает избыточный каталог xyz
:
dist/
public/
xyz/
index.html
xyz/
js/
a.js
b.js
css/
a.css
b.css