Last active
March 28, 2019 21:37
-
-
Save draber06/ed097cd1186d7df81e90 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var gulp = require("gulp"), | |
streamqueue = require("streamqueue"), | |
less = require("gulp-less"), | |
autoprefixer = require("gulp-autoprefixer"), | |
minifyCss = require("gulp-minify-css"), | |
concat = require("gulp-concat"), | |
uglify = require("gulp-uglify"), | |
rename = require("gulp-rename"), | |
combine = require("stream-combiner2"), | |
es = require("event-stream"), | |
livereload = require("gulp-livereload"); | |
var path = { | |
scripts: ["js/libs/jquery-1.11.0.min.js", "js/libs/**/*.js", "js/**/*.js"], | |
less: "css/less/main.less", | |
css: "css/libs/**/*.css" | |
}; | |
/** | |
* Компилирование less в css | |
* объединение в один файл | |
* минификация | |
*/ | |
gulp.task("css", function() { | |
return streamqueue( | |
{ | |
objectMode: true | |
}, | |
gulp | |
.src(path.less) | |
.pipe(less()) | |
.on("error", function(event) { | |
console.log(event.message); | |
}), | |
gulp.src(path.css) | |
) | |
.pipe(concat("all.min.css")) | |
.pipe( | |
autoprefixer({ | |
browsers: ["last 2 versions", "ie 9"], | |
cascade: false | |
}) | |
) | |
.pipe(minifyCss()) | |
.pipe(gulp.dest("assets/css")) | |
.pipe(livereload()); | |
}); | |
// Объединение и сжатие js файлов | |
gulp.task("js_minify", function() { | |
gulp.src(path.scripts) | |
.pipe(concat("all.min.js", { newLine: ";\n\r" })) | |
.pipe(uglify()) | |
.pipe(gulp.dest("assets/js")); | |
}); | |
// Объединение js файлов, без сжатия | |
gulp.task("js", function() { | |
gulp.src(path.scripts) | |
.pipe(concat("all.min.js", { newLine: ";\n\r" })) | |
.pipe(gulp.dest("assets/js")); | |
}); | |
// Автоматическое обновление стилей в браузере | |
gulp.task("livereload", function() { | |
livereload.listen(); | |
}); | |
// Набора задач для разработки | |
gulp.task("default", ["livereload", "css", "js"]); | |
// Набор задач для релиза | |
gulp.task("production", ["css", "js_minify"]); | |
// При измененииях в js файлах запускаем нужную задачу | |
var watcherJs = gulp.watch("js/**/*.js", ["js"]); | |
watcherJs.on("change", function(event) { | |
console.log( | |
"File " + event.path + " was " + event.type + ", running tasks..." | |
); | |
}); | |
// При измененииях в css, less файлах запускаем с задачу | |
var watcherCss = gulp.watch("css/**/*.{css,less}", ["css"]); | |
watcherCss.on("change", function(event) { | |
console.log( | |
"File " + event.path + " was " + event.type + ", running tasks..." | |
); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
спасибо товарищ!