-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.js
More file actions
54 lines (36 loc) · 1.1 KB
/
gulpfile.js
File metadata and controls
54 lines (36 loc) · 1.1 KB
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
var gulp = require('gulp'),
path = require('path'),
// For reloading the browser when files are written to
browserSync = require('browser-sync').create(),
// For compiling SASS files
sass = require('gulp-sass');
gulp.task('serve', function () {
browserSync.init({
proxy: "localhost"
});
// When I update SASS files, call the 'sass' task
gulp.watch('dev/scss/*.scss').on('change', gulp.series('sass'));
// When I've updated web-ready dev files
gulp.watch([
'dev',
'!dev/sass'
// Run the copy task and reload browser window(s)
]).on('change', gulp.series('copy', browserSync.reload));
});
gulp.task('copy', function () {
return gulp.src([
'dev/**', // 1. Include everything
'!dev/scss/*', // 2. Exclude SASS dev files
'!dev/scss'])
.pipe(gulp.dest('build'));
});
// SASS compilation
gulp.task('sass', function() {
return gulp.src('dev/scss/*.scss')
// Log the SASS compiler's errors
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest('build/css'))
// Inject CSS into browsers
.pipe(browserSync.stream());
});
gulp.task('default', gulp.series('serve'));