У меня есть задача gulp, похожая на следующую. Я пытаюсь выполнить цикл и добавить строку на страницу, а также объединить соответствующий файл.
gulp.task('loop', function() {
for(i =0; i < 10; i++) {
gulp.src('./build/ross/templates/pages/_page_home.liquid')
.pipe(plugins.insert.append('Loop ' + i))
// real example has concat here
.pipe(plugins.addSrc('./src/page/_page' + i + '.liquid'))
.pipe(plugins.concat('_page_home.liquid'))
.pipe(gulp.dest('./build/ross/templates/pages/'));
}
});
Ожидаемый результат будет примерно таким
Loop 1
// _page1.liquid contents
Loop 2
// _page2.liquid contents
Loop 3
// _page3.liquid contents
and so on...
Фактический результат больше похож на
// Original Page Contents here
Loop 9
// _page9.liquid contents
Я сделал fs.readFile
для исходного файла в цикле и вывел данные, и он выводит только исходное содержимое страницы, а не объединенный файл или строку, которую я пытаюсь добавить.
Я также сделал console.log(i)
внутри, и он показывает правильные цифры 1,2,3,4,5,6,7,8,9
. Интересно, имеет ли это какое-то отношение к gulp.src()?
Обновление: иногда кажется, что содержимое вывода на самом деле будет содержать части содержимого _page#.liquid. Это немного непоследовательно.
Есть ли лучший способ сделать это с помощью gulp или я просто делаю что-то не так?
console.log(i)
выведет 0,1,2,3,4,5,6,7,8,9 и т.д... - person Ross   schedule 05.05.2015i
в качестве аргумента), и вы увидите, что это сработает! - person hereandnow78   schedule 05.05.2015stream-to-promise
иbluebird
-- см. gist.github.com/rdallaire/e84a796a09e2aa189534 - person Ross   schedule 06.05.2015