Оберните каждое содержимое файла строкой, вставьте объединенный результат в файл. - PullRequest
0 голосов
/ 01 декабря 2018

Я хотел бы сделать это, как добиться?

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?

...