Skip to content

Instantly share code, notes, and snippets.

@draber06
Last active March 28, 2019 21:37
Show Gist options
  • Save draber06/ed097cd1186d7df81e90 to your computer and use it in GitHub Desktop.
Save draber06/ed097cd1186d7df81e90 to your computer and use it in GitHub Desktop.
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..."
);
});
@Gordondalos
Copy link

спасибо товарищ!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment