gulpfile.js

gulp配置实时刷新页面以及配置跨域

//gulp.task方法用来定义一个任务
//语法gulp.task(name[,deps],fn);name:表示任务的名称 deps:表示任务的依赖任务,可选参数;fn:任务的回调函数
/*
npm install -g gulp-concat 文件打包
npm install -g gulp-rename 文件重命名
npm install -g gulp-imagemin 图片压缩
npm install -g gulp-jslint js代码校验 慎用
npm install -g gulp-minify-css css压缩
npm install -g gulp-minify-html html压缩
npm install -g gulp-uglify js压缩
 */
var gulp = require('gulp');
var scss = require('gulp-sass');
// var cssnano = require('gulp-cssnano');
var runSequence = require('run-sequence'); //同步执行任务
var uglify = require('gulp-uglify');
var pump = require('pump');
// var rename = require('gulp-rename');
var concat = require('gulp-concat');
// var connect = require('gulp-connect');
var browserSync = require('browser-sync');
var reload = browserSync.reload;
// var proxy = require('http-proxy-middleware');


gulp.task('sass',function () {
    return gulp.src('./style/**/*.scss')
        .pipe(scss().on('error', scss.logError))
        .pipe(gulp.dest('./css'));
})
gulp.task('uglifyJs',function (cb) {
    pump([
            gulp.src('./js/**/*.js'),
            uglify(),
            concat('main.js'),
            gulp.dest('dist'),

        ],
        cb
    );
});

gulp.task('watch', function () {
    gulp.watch('./style/**/*.scss', ['sass']);
    gulp.watch('./js/**/*.js', ['uglifyJs']);

})
// gulp.task('connect', function(callback) {
//     connect.server({
//         root: 'dist',
//         livereload: true,
//         port: 8080
//     });
// });

gulp.task('serve', function() {
    //
    browserSync({
        server: {
            baseDir: './',
            index:'./index.html',// 指定默认打开的文件
            // middleware: function (connect, opt) {
            //     return [
            //         proxy('/fs', {
            //             target: 'http://172.16.2.52:8080',
            //             changeOrigin:true
            //         }),
            //         proxy('/product', {
            //             target: 'http://172.16.1.60:8080',
            //             changeOrigin:true
            //         }),
            //         proxy('/bpauth', {
            //             target: 'http://192.168.24.77:8080',
            //             changeOrigin:true
            //         })
            //     ]
            // },
            /*
            如果你之前的api地址为:http://172.16.2.52:8080/get
            现在在访问: http://localhost:8080/fs/get
            两者返回数据相同,后者把跨域问题完全解决了。
            支持GET, POST, DELETE, PUT等所有method

             */
            tunnel:true      //可以解决与wenstrom冲突问题

        },
        port:8080,
    });
    gulp.watch(['./dist/**/*.html', './*.html','./css/**/*.css', './js/**/*.js'],{cwd:'./'},reload);
});
gulp.task('default', function(callback) {
    runSequence(['serve','watch'], callback)
});

你可能感兴趣的:(gulpfile.js)