-
Notifications
You must be signed in to change notification settings - Fork 1
/
gulpfile.js
177 lines (159 loc) · 4.1 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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
/**
* -------------------------------
* @file gulpfile.js
* @description gulp配置文件,各种任务开关(共有和私有)
* @date 2017-03-15
* -------------------------------
*/
const gulp = require('gulp');
const path = require('path');
const browserSync = require('browser-sync').create();
const requireDir = require('require-dir');
const taskObj = requireDir('./gulp/tasks');
const utils = requireDir('./gulp/utils');
const CONFIG = require('./gulp/config'); // 获取全局配置文件
/**
* @method watch
* @public
* @description 监控文件变化执行相应的任务
* @param {object} browserSync 异步浏览器
*/
gulp.task('watch', () => {
return taskObj.watch(browserSync);
});
/**
* @method sass
* @public
* @description sass编译
* @param {object} browserSync 异步浏览器
*/
gulp.task('sass', () => {
return utils.handleEnter(taskObj.sass, CONFIG.sass.src, browserSync);
});
/**
* @method prv_sass
* @private 私有
* @description sass编译
* @param {object} browserSync 异步浏览器
*/
gulp.add('prv_sass', () => {
return taskObj.sass(browserSync);
});
/**
* @method compress
* @public
* @description js文件压缩
* @param {object} browserSync 异步浏览器
*/
gulp.task('compress', () => {
return utils.handleEnter(taskObj.compress, CONFIG.compress.src, browserSync);
});
/**
* @method prv_compress
* @private 私有
* @description 所有js文件压缩
* @param {object} browserSync 异步浏览器
*/
gulp.task('prv_compress', () => {
return taskObj.compress(browserSync);
});
/**
* @method webpack打包js文件
* @public
* @description 文件打包
* @param {object} browserSync 异步浏览器
*/
gulp.task('pack:js', function() {
// console.log(CONFIG['pack:js'].src);
return utils.handleEnter(taskObj.pack, CONFIG['pack:js'].src, browserSync);
});
/**
* @method prv_pack
* @private 私有
* @description 所有文件打包
* @param {object} browserSync 异步浏览器
*/
gulp.task('prv_pack:js', function() {
return taskObj.pack(browserSync);
});
/**
* @method imagemini
* @public
* @description 图片压缩
* @param {object} browserSync 异步浏览器
*/
gulp.task('imagemini', () => {
return utils.handleEnter(taskObj.imagemini, CONFIG.sass.src, browserSync);
})
/**
* @method base64
* @public
* @description 图片base64转码
* @param {object} browserSync 异步浏览器
*/
gulp.task('base64', () => {
return utils.handleEnter(taskObj.base64, [browserSync]);
})
/**
* @method ejs
* @public
* @description ejs文件编译
* @param {object} browserSync 异步浏览器
*/
gulp.task('ejs', () => {
// return utils.handleEnter(taskObj.ejs, [browserSync]);
})
/**
* @method iconfont
* @public
* @description 生成字体图标
* @param {object} browserSync 异步浏览器
*/
gulp.task('iconfont', () => {
// return utils.handleEnter(taskObj.iconfont, [browserSync]);
})
/**
* @method book
* @public
* @description 生成目录预览文件
* @param {object} browserSync 异步浏览器
*/
gulp.task('book', () => {
// return utils.handleEnter(taskObj.book, [browserSync]);
})
/**
* @method sprites
* @public
* @description 生成精灵图
* @param {object} browserSync 异步浏览器
*/
gulp.task('sprites', () => {
// return utils.handleEnter(taskObj.sprites, [browserSync]);
})
/**
* @method ftp
* @public
* @description ftp上传,上传相应文件到测试服务器
* @param {object} browserSync 异步浏览器
*/
gulp.task('ftp', () => {
// return utils.handleEnter(taskObj.ftp, [browserSync]);
})
/**
* @method CDN
* @public
* @description CDN地址替换,替换所有的本地地址为cdn地址
* @param {object} browserSync 异步浏览器
*/
gulp.task('CDN', () => {
// return utils.handleEnter(taskObj.CDN, [browserSync]);
})
/**
* @method build
* @public
* @description 项目构建,生成开发需要的前端页面
* @param {object} browserSync 异步浏览器
*/
gulp.task('build', () => {
// return utils.handleEnter(taskObj.build, [browserSync]);
})