精简版gulp配置

安装步骤

1.安装NODEJS环境

2,全局安装 gulp npm install -g gulp

3,拷贝gulpfile.js, package.json文件,目录结构参考
https://github.com/weibsgz/easy-gulp

4,目录下运行npm install

5, 目录下运行gulp

列子:https://github.com/weibsgz/easy-gulp

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
//导入工具包 require('node_modules里对应模块')
var gulp = require('gulp'); //本地安装gulp所用到的地方
var fileinclude = require('gulp-file-include'); //包含HTML
var connect = require('gulp-connect'); //本地服务
var imagemin = require('gulp-imagemin'); //图片压缩
var watch = require('gulp-watch'); //监听
var less = require('gulp-less');
var notify = require('gulp-notify'); //处理LESS错误
var plumber = require('gulp-plumber'); //处理LESS错误
var browserSync = require('browser-sync');
var reload = browserSync.reload;


//include html并刷新服务
gulp.task('fileinclude', function(done) {
gulp.src(['src/html/*.html'])
.pipe(fileinclude({
prefix: '@@',
basepath: '@file'
}))
.pipe(gulp.dest('src/page'))
.on('end', done)
.pipe(reload({ stream: true }))
});


gulp.task('testLess', function () {
gulp.src('src/css/*.less')
.pipe(plumber({errorHandler: notify.onError('Error: <%= error.message %>')}))
.pipe(less())
.pipe(gulp.dest('src/css'))
});


// 监视文件改动并重新载入
gulp.task('serve', function() {
browserSync({
port: 9000,
server: {
baseDir: 'src/'
}
});
});

//监听所有HTML JS CSS改动
gulp.task('watch', function () {
// gulp.watch(['src/css/*','src/css/*.less','src/html/*.html','src/js/*','src/images/*'], ['testLess','jstodist','csstodist','fileinclude','imagemin']);
gulp.watch(['src/css/*.less'], ['testLess']);
gulp.watch(['src/html/**/*.html'], ['fileinclude']);
gulp.watch("src/**/*.*").on('change', browserSync.reload);

});

gulp.task('default',['testLess','fileinclude','serve','watch']);

package.json的配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
"name": "njga",
"version": "1.0.0",
"description": "test",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"gulp": "^3.9.1",
"browser-sync": "^2.17.3",
"gulp-connect": "^5.0.0",
"gulp-file-include": "^1.0.0",
"gulp-imagemin": "^3.0.3",
"gulp-less": "^3.1.0",
"gulp-notify": "^2.2.0",
"gulp-plumber": "^1.1.0",
"gulp-watch": "^4.3.10"
}
}