Я хотел бы сделать это, как добиться?
for each file in a folder,
1) read the content,
2) wrap the content with certain strings, with the file name
(without folder, without extension) as a parameter
end-for
3) concat the result into one string
4) inject this string into a predefined row in a file
Folder structure
src/one.html
src/templates/aaa.hbs
src/templates/bbb.hbs
Content of src/one.html is a regular html,
with a certain placeholder
...
<div id="templates">
<!-- a-marker-for-string-replacement -->
</div>
...
Content of aaa.hbs
I am AA
Content of bbb.hbs
I am BB
After gulp, expected content of dist/one.html
...
<div id="templates">
<script id="aaa">
I am AA
</div>
<script id="bbb">
I am BB
</div>
</div>
...
Я могу выполнить некоторые из перечисленных выше задач,
, например, до 3) (объединить результат в одну строку),
, затем вывести егов файл, обычными gulp.concat
и gulp.dest
.
Я также знаю, как это сделать 4) (вставка строки в файл),
, например, gulp-inject-string
.
Но часы были потрачены, и я до сих пор не понимаю концепцию потока gulp:
- при добавлении строки к содержимому файла, как вставить имя файла текущего файла?
- можно ли использовать gulp-concat
и сначала поместить результат в переменную, затем завершить конвейер и использовать переменную в gulp-inject-string
?