-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
74 lines (59 loc) · 1.91 KB
/
gulpfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
'use strict';
var gulp = require('gulp'),
inject = require('gulp-inject'),
sass = require('gulp-sass'),
concat = require('gulp-concat'),
uglify = require('gulp-uglify'),
es = require('event-stream'),
minifier = require('gulp-uglify/minifier'),
pump = require('pump'),
browsersync = require('browser-sync').create(),
reload = browsersync.reload;
var TARGET = './dist/';
var vendorStream = gulp.src(['./src/js/vendors/*.js'])
.pipe(concat('vendors.js'))
.pipe(uglify())
.pipe(gulp.dest('./dist/js'));
var sassStream = gulp.src('./src/scss/index.scss')
.pipe(sass())
.pipe(gulp.dest(TARGET + 'css/'))
.pipe(browsersync.stream());
/* GULP TASKS */
gulp.task('cleaner', function(){
});
gulp.task('default', ['serve']);
gulp.task('compress', function (cb) {
pump([
gulp.src('./src/js/*.js'),
uglify(),
gulp.dest(TARGET)
], cb);
});
gulp.task('index',['sass','js'], function () {
//var sources = gulp.src(['./dist/css/*.min.css', './dist/js/*.js'], {read: false, ignorePath: 'dist'});
gulp.src('./src/index.html')
.pipe(inject(gulp.src('./dist/js/vendors.js', {read: false}), {name: 'head', ignorePath:'dist'}))
.pipe(inject(gulp.src(['./dist/css/*.min.css','./dist/js/*.js', '!./dist/vendors.js'], {read: false}), {ignorePath: 'dist'}))
.pipe(gulp.dest(TARGET));
});
gulp.task('sass', function () {
return sassStream;
});
gulp.task('vendors', function () {
return vendorStream;
});
gulp.task('js',['vendors'], function(cb){
return gulp.src(['./src/js/*.js'])
.pipe(concat('app.js'))
.pipe(uglify())
.pipe(gulp.dest('./dist/js'));
});
gulp.task('serve', ['js','index'], function () {
browsersync.init({
server: {
baseDir: TARGET
}
});
gulp.watch("./src/scss/index.scss", ['sass']);
gulp.watch("./src/*.html").on('change', browsersync.reload);
});