@ardm

Gulp: Как найти строки в файле html и поместить в массив?

например в index.html файле прописаны комментарии вида
<!-- [path-file] module/name_module -->

<!-- [path-file] module/name_module2 -->


как найти текст (module/name_module, module/name_module2) и поместить их в массив ?
  • Вопрос задан
  • 216 просмотров
Решения вопроса 1
@ardm Автор вопроса
Нашел решение
var insert = require('gulp-insert');
var rename = require("gulp-rename");

require('./html-concat-all');

module.exports = function (buildOptions) {

    return gulp.task('html_path_to_json', ['html_concat_all'], function (cb) {
        var src_contents = '{"src" : [';
        return fsvinyl.src('./dev/*/index.html')
        
            .pipe(insert.transform(function(contents, file) {

                var regExp = /\[path-file\] ([A-Za-z0-9\-\_]+\/[A-Za-z0-9\-\_]+)/gim; // upd: добавил регулярку
                var file_content = contents;

                var str = file_content;
                var re =  regExp;
                var res;
                
                while ( (res = re.exec(str)) != null) {
                    gutil.log("result " + res[1]);
                    src_contents = src_contents + '"./markup/' + res[1] + '/*.{scss,sass,less,css}",';
                }

                src_contents = src_contents + '"!./**/_*.{scss,sass,less,css}"] }';
                return src_contents;
            }))
            .pipe(rename(function (path) {
                path.basename = "path_modules";
                path.extname = ".json"
            }))
            .pipe(gulp.dest('./dev/'));
    });
};
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы