Я новичок в Gulp с такой структурой каталогов:
.tmp
│ file001.html
│ file002.html
| ...
│
|───js
| │ file1.js
| │ file2.js
└───css
│ file1.css
│ file2.css
|
└───folder1
│ file011.html
│ file012.html
│
├───subfolder1
│ │ file111.html
│ │ file112.html
│ │ ...
│
└───folder2
│ file021.html
│ file022.html
|
Вот моя задача useref
gulp.task('useref', function() {
return gulp.src('.tmp/**/*.html')
.pipe(useref())
.pipe(gulpIf('*.js', uglify()))
.pipe(gulpIf('*.css', cssnano()))
.pipe(gulp.dest('dist'));
});
А вот HTML
<!--build:css /css/styles.min.css-->
<link rel="stylesheet" href="/css/file1.css">
<link rel="stylesheet" href="/css/file2.css">
<!--endbuild-->
<!--build:js /js/main.min.js -->
<script src="/js/file1.js"></script>
<script src="/js/file2.js"></script>
<!-- endbuild -->
Я хочу, чтобы useref захватил ресурсы во всех html-файлах в каталоге .tmp, (включая те, что в подкаталогах) и воссоздал структуру каталогов в каталоге dist.
Я получаю uglified и minified файлы, как и ожидалось, в корне dist, но я также получаю несколько ошибок, таких как это:
Ошибка: не найден файл с единственным значением glob: .tmp/folder1/subfolder1/js/file1.js
Файл не найден, потому что, как видите, указан неверный путь (должен быть .tmp/js/file1.js). Кроме того, подкаталоги не создаются в dist.
Я пытался понять, почему это происходит и что я могу сделать, чтобы это исправить, но после нескольких часов попыток я обращаюсь сюда за помощью. Заранее спасибо.