Commit 835fccda authored by Nikolay Gromov's avatar Nikolay Gromov

watching

parent 81763e50
...@@ -6,24 +6,38 @@ const debug = require('gulp-debug'); ...@@ -6,24 +6,38 @@ const debug = require('gulp-debug');
const sourcemaps = require('gulp-sourcemaps'); const sourcemaps = require('gulp-sourcemaps');
const cssnano = require('gulp-cssnano'); const cssnano = require('gulp-cssnano');
const rename = require('gulp-rename'); const rename = require('gulp-rename');
const gulpIf = require('gulp-if');
const del = require('del'); const del = require('del');
// Копирование добавочных CSS, который нужно иметь отдельными файлами в папке сборки // Запуск `NODE_ENV=production gulp [задача]` приведет к сборке без sourcemaps
gulp.task('copy:css', function() { const isDev = !process.env.NODE_ENV || process.env.NODE_ENV == 'dev';
return gulp.src('src/css/*.css', {read: false}) // читать содержимое не нужно
.pipe(gulp.dest('build/css'));
});
// Компиляция и обработка LESS // Компиляция LESS
gulp.task('less', function () { gulp.task('less', function () {
console.log('---------- компиляция LESS');
return gulp.src('src/less/style.less') return gulp.src('src/less/style.less')
.pipe(sourcemaps.init()) .pipe(gulpIf(isDev, sourcemaps.init()))
.pipe(debug({title: "LESS:"})) .pipe(debug({title: "LESS:"}))
.pipe(less()) .pipe(less())
.pipe(cssnano()) .pipe(cssnano())
.pipe(rename('style.min.css')) .pipe(rename('style.min.css'))
.pipe(debug({title: "RENAME:"})) .pipe(debug({title: "RENAME:"}))
.pipe(sourcemaps.write('.')) .pipe(gulpIf(isDev, sourcemaps.write('.')))
.pipe(gulpIf(isDev, debug({title: "SOURCEMAPS:"})))
.pipe(gulp.dest('build/css'));
});
// Копирование добавочных CSS, которые хочется иметь отдельными файлами
gulp.task('copy:css', function() {
console.log('---------- копирование CSS');
return gulp.src('src/css/*.css', {since: gulp.lastRun('copy:css')})
.pipe(cssnano({
discardUnused: false // не удалять несипользованные конструкции
}))
.pipe(rename(function (path) {
path.extname = '.min.css'
}))
.pipe(debug({title: "RENAME:"}))
.pipe(gulp.dest('build/css')); .pipe(gulp.dest('build/css'));
}); });
...@@ -42,3 +56,12 @@ gulp.task('build', gulp.series( ...@@ -42,3 +56,12 @@ gulp.task('build', gulp.series(
'clean:build', 'clean:build',
gulp.parallel('less', 'copy:css') gulp.parallel('less', 'copy:css')
)); ));
// Слежение за LESS
gulp.watch('src/less/**/*.less', gulp.series('less'));
// Слежение за добавочными CSS
gulp.watch('src/css/*.css', gulp.series('copy:css'));
Это добавочные CSS-файлы, которые нужно взять в сборку отдельно и самостоятельно. Это добавочные CSS-файлы, которые нужно взять в сборку как отдельные файлы.
При при копировании файлы минимизируются и перед расширением файла добавляется `.min`.
Вложенные папки и файлы в них — игнорируются.
@bg_color: #fff;
body {
background-color: @bg_color;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment