gulp构建

来源:互联网 发布:苏州app软件开发 编辑:程序博客网 时间:2024/06/10 01:41
var gulp = require('gulp');var $ = require('gulp-load-plugins')();var open = require('open');var app = {  srcPath: 'src/',  devPath: 'build/',  prdPath: 'dist/'};gulp.task('lib', function() {  gulp.src('bower_components/**/*.js')  .pipe(gulp.dest(app.devPath + 'vendor'))  .pipe(gulp.dest(app.prdPath + 'vendor'))  .pipe($.connect.reload());});gulp.task('html', function() {  gulp.src(app.srcPath + '**/*.html')  .pipe(gulp.dest(app.devPath))  .pipe(gulp.dest(app.prdPath))  .pipe($.connect.reload());})gulp.task('json', function() {  gulp.src(app.srcPath + 'data/**/*.json')  .pipe(gulp.dest(app.devPath + 'data'))  .pipe(gulp.dest(app.prdPath + 'data'));});gulp.task('less', function() {  gulp.src(app.srcPath + 'style/index.less')  .pipe($.less())  .pipe(gulp.dest(app.devPath + 'css'))  .pipe($.cssmin())  .pipe(gulp.dest(app.prdPath + 'css'))  .pipe($.connect.reload());});gulp.task('js', function() {  gulp.src(app.srcPath + 'script/**/*.js')  .pipe($.plumber())  .pipe($.concat('index.js'))  .pipe(gulp.dest(app.devPath + 'js'))  .pipe($.uglify())  .pipe(gulp.dest(app.prdPath + 'js'))  .pipe($.connect.reload());});gulp.task('image', function() {  gulp.src(app.srcPath + 'image/**/*')  .pipe($.plumber())  .pipe(gulp.dest(app.devPath + 'image'))  .pipe($.imagemin())  .pipe(gulp.dest(app.prdPath + 'image'))  .pipe($.connect.reload());});gulp.task('clean', function() {  gulp.src([app.devPath, app.prdPath])  .pipe($.clean());});gulp.task('build', ['image', 'js', 'less', 'lib', 'html', 'json']);gulp.task('server', ['build'], function() {  $.connect.server({    root: [app.devPath],    livereload: true,    port: 3000  });  open('http://localhost:3000');  gulp.watch('bower_components/**/*', ['lib']);  gulp.watch(app.srcPath + '**/*.html', ['html']);  gulp.watch(app.srcPath + 'data/**/*.json', ['json']);  gulp.watch(app.srcPath + 'style/**/*.less', ['less']);  gulp.watch(app.srcPath + 'script/**/*.js', ['js']);  gulp.watch(app.srcPath + 'image/**/*', ['image']);});gulp.task('default', ['server']);