forked from tony903/Sass-lab
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
76 lines (69 loc) · 2.3 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
var gulp = require('gulp'),
// clean = require('gulp-clean'),
connect = require('gulp-connect'),
gulpSequence = require('gulp-sequence'),
fileinclude = require('gulp-file-include'),
fs = require('fs'),
path = require('path'),
sass = require('gulp-sass'),
cors = require('cors');
// 清除
// gulp.task('clean', function () {
// return gulp.src('src/')
// .pipe(clean({force: true}))
// .pipe(clean());
// });
// gulp.task('copy',['clean'],function(){
gulp.task('copy',function(){
return gulp.src('compile/**/*')
.pipe( gulp.dest('src/'));
});
//开启服务
gulp.task('connect', function() {
connect.server({
port: 8001,
livereload: false,
middleware: function(connect, options) {
return [
cors(),//支持cors
function(req, res, next) {
var filepath = path.join(options.root, req.url);
if ('POSTPUTDELETE'.indexOf(req.method.toUpperCase()) > -1
&& fs.existsSync(filepath) && fs.statSync(filepath).isFile()) {
return res.end(fs.readFileSync(filepath));
}
return next();
}
];
}
});
});
//sass
// outputStyle: compressed 压缩; compact 简洁; nested 嵌套; expanded 展开;
gulp.task('sass',function(){
return gulp.src(['compile/**/*.scss'])
.pipe(sass({outputStyle: 'compact'}).on('error', sass.logError))
.pipe( gulp.dest('src/assets/css/'));
});
//include
gulp.task('include', function() {
return gulp.src(['compile/**/*.html'])
.pipe(fileinclude({
prefix: '@@',
basepath: '@file'
}))
.pipe(gulp.dest('src/'));
});
// 监听
gulp.task('watch', function() {
/*
开发是监听此任务,会实时将dev环境的代码copy到release下
不要在release下修改代码,会被覆盖
*/
gulp.watch(['compile/**/*.html','tpl/**/*'], ['include']);
gulp.watch('sass/**/*.scss', ['sass']);
gulp.watch('compile/*.scss', ['sass']);
});
//开发调试
// gulp.task('default', gulpSequence('clean','include','sass','connect','watch'));
gulp.task('default', gulpSequence('include','sass','connect','watch'));