четверг, 23 ноября 2017 г.

Конкатенация html в NODEjs вторая попытка

У меня уже были функции, с помощью которых можно объединить несколько HTML файлов c помощью nodejs, но та функция не поддерживала запуск без вотчера.. Теперь есть поддержка простого запуска этой функции на дирректорию
var fs = require('fs'),
    path   = require('path');

gulp.task("concatHtml", function() {<p>    concatHtml('./pages/');
});</p>
function concatHtml(event) {
    var isDir, clearFileName;
    fs.stat(event, function(err, stats) {
        var filesToConcat = [];
        isDir = stats.isDirectory();
        if (isDir) {
            fs.readdir(event, function (err, files) {
                files.forEach(function (file) {
                    clearFileName = path.basename(file);
                    filesToConcat.push(clearFileName);
                });
                realConcat(filesToConcat);
            })
        } else {
            clearFileName = path.basename(event.path);
            filesToConcat.push(clearFileName);
            realConcat(filesToConcat);
        }
    });
}

function realConcat(filesToConcat) {
    for(var curFile in filesToConcat) {
        gulp.src(['./blocks/header.html',
                  './blocks/menu.html',
                  './pages/' + filesToConcat[curFile],
                  './blocks/footer.html'])
            .pipe(concat(filesToConcat[curFile]))
            .pipe(gulp.dest('./'));
        console.log('html is builded success!');
    }
}
В результате файлы из директории pages попадают в корневую директорию, при этом объядиняясь с хедером футером и меню.

Комментариев нет:

Отправить комментарий

Mysql настройка режима

Для настройки режима mysql не обязательно править конфиги можно выполнить команду mysql > set global sql_mode = 'STRICT_TRANS_TAB...