-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
78 lines (69 loc) · 1.58 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
75
76
77
78
const gulp = require('gulp')
const path = require('path')
const $ = require('gulp-load-plugins')()
const paths = {
src: {
less: './src/styles/less/**',
css: './src/styles/css/*.css',
js: './src/js/**',
data: './src/data/**',
pug: './src/pug/**',
images: './src/img/*'
},
dest: {
html: './dest',
css: './dest/styles',
js: './dest/js',
data: './dest/data',
images: './dest/img'
}
}
gulp.task('pug', () => {
gulp.src(paths.src.pug)
.pipe($.pug({
basedir: path.resolve()
}))
.pipe(gulp.dest('./dest'))
})
gulp.task('less', () => {
gulp.src(paths.src.less)
.pipe($.less())
.pipe(gulp.dest(paths.dest.css))
})
gulp.task('css', () => {
gulp.src(paths.src.css)
.pipe(gulp.dest(paths.dest.css))
})
gulp.task('scripts', () => {
gulp.src(paths.src.js)
.pipe($.babel({
presets: ['es2015']
}))
.pipe(gulp.dest(paths.dest.js))
})
gulp.task('data', () => {
gulp.src(paths.src.data)
.pipe(gulp.dest(paths.dest.data))
})
gulp.task('images', () => {
gulp.src(paths.src.images)
.pipe($.imagemin())
.pipe(gulp.dest(paths.dest.images))
})
gulp.task('webserver', () => {
gulp
.src(paths.dest.html)
.pipe($.webserver({
port: 8080,
livereload: true,
directoryListing: false
}))
})
gulp.task('watch', () => {
gulp.watch(paths.src.pug, ['pug'])
gulp.watch(paths.src.less, ['less'])
gulp.watch(paths.src.data, ['data'])
gulp.watch(paths.src.js, ['scripts'])
})
gulp.task('default', ['webserver', 'watch'])
gulp.task('build', ['pug', 'less', 'css', 'scripts', 'data'])