@HimHimuch
Только начинаю входить в WEB

Почему не конкатенирует файлы уже переведенный в less?

//Подключаем модули галпа
	const gulp 			= require('gulp');
	const concat    	= require('gulp-concat');
	const autoprefixer  = require('gulp-autoprefixer');
	const cleanCSS 		= require('gulp-clean-css');
	const uglify        = require('gulp-uglify');
	const del			= require('del');
	const browserSync 	= require('browser-sync').create();
	const less 			= require('gulp-less');
	const path 			= require('path');


	//Порядок подключения css файлов
	const cssFiles = [
		'./src/css/main.css',
		'./src/css/media.css'
	]

	//Порядок подключения less файлов
	const lessFiles=[
		'./src/less/main.css',
		'./src/less/media.css'
	]
	//Порядок подключения js файлов
	const jsFiles= [
		'src/js/lib.js',
		'src/js/main.js'
	]

	//Таск на стили CSS
	function styles() {
		//Шаблон для поиска файлов CSS
		//Все файлы по шаблону './src/less/**/*.css'
		return gulp.src('./src/less/**/*.less')

		//Перевод less  в css
		.pipe(less({
      		paths:[ path.join(__dirname, 'less', 'includes') ]
    	}))

		.pipe(gulp.dest('./src/css'));

		gulp.src('./src/less/**/*.css')

		//Объединение файлов в один
		.pipe(concat('styles.css'))
		
		
		//Минификация файлов
		.pipe(cleanCSS({level:2}))
		
		//Выходная папка для стилей
		.pipe(gulp.dest('./build/css'))
		.pipe(browserSync.stream())

	}

	//Tacк на скрипты js
	function scripts(){
		//Шаблон для поиска файлов JS
		//Все файлы по шаблону './src/js/**/*.js'
		return gulp.src(jsFiles)

		//Объединение файлов в один
		.pipe(concat('script.js'))

		//Минификация JS
		.pipe(uglify({
			toplevel:true
		}))

		//Выходная папка для скриптов
		.pipe(gulp.dest('build/js'))
		.pipe(browserSync.stream());

	}

	function clean() {
		return del(['build/*'])
	}

	function watch(){
		browserSync.init({
        	server: {
            	baseDir: "./"
        	}
    	});
		//Следить за CSS файлами
		gulp.watch('./src/css/**/*.css',styles)
		//Следить за JS файлами
		gulp.watch('./src/jss/**/*.js',scripts)
		//При изменении HTML запустить синхронизацию
		gulp.watch("./*.html").on('change',browserSync.reload);
	}

	//Таск вызывающий функцию styles
	gulp.task('styles', styles);
	//Таск вызывающий функцию scripts
	gulp.task('scripts', scripts);
	//Таск удаления внутри корневого файла
	gulp.task('del', clean);
	//Таск для отслеживания изменений 
	gulp.task('watch',watch);
	//Таск для удалния файлов в папке build и запуск styles и scripts
	gulp.task('build', gulp.series(clean, gulp.parallel(styles, scripts)))
	//Таск запускает таск build и watch последовательно
	gulp.task('dev',gulp.series('build','watch'));
  • Вопрос задан
  • 84 просмотра
Пригласить эксперта
Ответы на вопрос 1
@HimHimuch Автор вопроса
Только начинаю входить в WEB
Получает все файлы в формате less
-------------------------------------------
Задача решена с помощью разделения функции styles на две
и вызовом gulp таска через gulp.series()
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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