-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathGulpfile.js
79 lines (66 loc) · 2.09 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
79
var gulp = require("gulp"),
less = require("gulp-less"),
clean = require("gulp-clean"),
concat = require("gulp-concat"),
watch = require("gulp-watch"),
embedlr = require("gulp-embedlr"),
livereload = require("gulp-livereload"),
nodemon = require("nodemon");
gulp.task("clean", function () {
return gulp.src("dist")
.pipe(clean({force: true}));
});
gulp.task("less", function () {
return gulp.src("src/assets/style/**/*.less")
.pipe(less())
.pipe(gulp.dest("dist/assets/style/"))
.pipe(livereload());
});
gulp.task("app", function() {
return gulp.src(["src/main.js", "src/routes/**/*", "src/views/**/*"], {base: "src"})
.pipe(gulp.dest("dist"));
});
gulp.task("html", ["app"], function() {
return gulp.src("dist/views/header.ejs")
.pipe(embedlr({src: "http://localhost:35729/livereload.js?snipver=1"}))
.pipe(gulp.dest("dist/"))
.pipe(livereload());
});
gulp.task("icon", function(){
return gulp.src("src/assets/images/icon/favicon.ico")
.pipe(gulp.dest("dist/assets"));
});
gulp.task("images", ["icon"], function(){
return gulp.src("src/assets/images/**/*.*")
.pipe(gulp.dest("dist/assets/images"));
});
gulp.task("fonts", function(){
return gulp.src("src/assets/fonts/**/*.*")
.pipe(gulp.dest("dist/assets/fonts"));
});
gulp.task("js", function(){
return gulp.src(["src/assets/scripts/jquery-1.12.2.min.js", "src/assets/scripts/respond.min.js", "src/assets/scripts/main.js"])
.pipe(concat("scripts.js"))
.pipe(gulp.dest("dist/assets/scripts"))
.pipe(livereload());
});
gulp.task("watch", function(){
livereload.listen();
gulp.watch(["src/assets/style/**/*.less"], ["less"]);
gulp.watch(["src/*.ejs"], ["html"]);
gulp.watch(["src/assets/scripts/*.js"], ["js"]);
});
gulp.task("webserver", function() {
nodemon({
script: "bin/www"
});
});
gulp.task("compile", ["clean"], function(){
return gulp.start("less", "html", "app", "fonts", "images", "js");
});
gulp.task("dev", function(){
return gulp.start("compile", "watch", "webserver");
});
gulp.task("default", function(){
return gulp.start("compile");
});