Продолжая мой предыдущий question - но на этот раз это следующий шаг: получение прав на файл для работы.Не удается получить gulp-rev-replace, работая с gulp-useref
Я работаю по курсу johnpapa по автоматизации с помощью Gulp и, кажется, ударяю другую стену (это то, что вы получаете, когда пытаетесь адаптировать сжатый курс к другой файловой структуре: P).
В принципе, проблема в том, что я получаю файлы с именем с пересмотром, но эти имена не попадают в конечный результат test.jsp
, и я не могу понять, почему ...
Это задач (минификация опущено для краткости, но он отлично работает с файлом revisioning):
gulp.task('build-dev', ['inject'], function() {
var assets = $.useref.assets({searchPath: ''});
return gulp
.src(config.indexFile)
.pipe($.rename('test.jsp'))
.pipe($.plumber())
.pipe(assets)
.pipe($.rev())
.pipe(assets.restore())
.pipe($.useref())
.pipe($.revReplace({modifyUnreved: replaceDirectory, modifyReved: replaceDirectory}))
.pipe(gulp.dest(config.indexLocation))
.pipe($.rev.manifest())
.pipe(gulp.dest(config.indexLocation))
;
});
inject
задача, которая впрыскивает CSS и JS ссылки на файл индекса (работает корректно), $
является require('gulp-load-plugins')({lazy: true})
и config.indexFile
есть index.jsp
.
replaceDirectory
функция (используется, так как преподобному манифест генерирует полный путь):
function replaceDirectory(path) {
var strToReplace = '../..';
var strToReplaceWith = process.cwd().replace(/\\/g, '/') + '/WebContent';
if (path) {
return path.replace(strToReplace, strToReplaceWith);
} else {
return path;
}
}
Моя файловая структура (в отличие от одного в процессе) является:
- ModuleDir
- dist
- css
- lib.css
- app.css
- fonts
- images
- js
- lib.js
- app.js
- css
- js
- web-app
- InnerDir
- index.jsp
- test.jsp
- package.json, bower.json, etc. (all the required files)
В принципе, индекс .jsp обрабатывается для ресурсов библиотеки CSS и JS и приложений, которые минимизируются и объединяются в lib.css, lib.js, app.css и app.js. Позже все они вводятся в копию index.jsp, которая называется test.jsp.
Сборка активов, конкатенация, впрыскивание и редактирование файлов на диске великолепно. Обновление имен файлов в test.jsp
- не так много ...
Любые идеи или указатели будут оценены.
Большое спасибо! Позаботьтесь об этом позже, но это имеет смысл - и я пропустил его в документах ... :) Будет придерживаться моего решения (оно лучше подходит для нашего процесса dev, в конце концов), но приятно знать правильный ответ! – st2rseeker