// ~ Compile JS ~
var jsFilter = gulpFilter('**/*.js');
// Concat vendor JS (uglify for production)
gulp.task('js:vendor', function() {
gulp.src(mainBowerFiles({
"overrides": {
"jquery": {
"main": "./dist/jquery.min.js"
},
"magnific-popup": {
"main": "./dist/jquery.magnific-popup.min.js"
},
"slick-carousel": {
"main": "./slick/slick.min.js"
},
"readmore-js": {
"main": "./readmore.js"
}
}
}))
.pipe(jsFilter)
.pipe(concat('vendor.js'))
.pipe(gulpIf(env !== 'dev', uglify()))
.pipe(size())
.pipe(gulp.dest(outputDir + 'js'))
});
// Concat own JS (uglify for production)
gulp.task('js', function() {
gulp.src(src.js)
.pipe(jsHint())
.pipe(jsHint.reporter('default'))
.pipe(concat('script.js'))
.pipe(gulpIf(env !== 'dev', uglify()))
.pipe(gulp.dest(outputDir + 'js'))
.pipe(size())
.pipe(connect.reload());
});
//= template/header.html
//= template/footer.html
var rigger = require('gulp-rigger');
создаем таск:
gulp.task('html', function() {
gulp.src(src.html)
.pipe(rigger())
.pipe(gulpIf(env !== 'dev', minifyHTML()))
.pipe(gulp.dest(outputDir))
.pipe(connect.reload())
});
//= template/header.html
//= template/footer.html
// Configuring paths and options for different environments
env = process.env.NODE_ENV || 'dev';
if (env === 'dev') {
outputDir = 'builds/development/';
sassStyle = 'expanded';
sassComments = true;
} else {
outputDir = 'builds/production/';
sassStyle = 'compressed';
sassComments = false;
}
//и потом к примеру в стилях у меня
....
.pipe(gulpIf(env !== 'dev', cleanCSS({compatibility: 'ie8'})))
// в js
...
.pipe(gulpIf(env !== 'dev', uglify()))
....
просто меняю env на === и собираю стили и скрипты для продакшн (оптимизированы)
и т.д по сути заменяя лишь значения с !== на === собираются 2 сборки: или builds/development /или builds/production/