gulp 自动编译

在这里插入图片描述
在这里插入图片描述配置

import yargs from 'yargs';
const args=yargs
// 区分运行环境
.option('production',{
  boolean:true,
  default:false,
  describe:'描述'
})
.option('watch',{
  boolean:true,
  default:false,
  describe:'watch all files'
})
//日志
.option('verbose',{
  boolean:true,
  default:false,
  describe:'log'
})
//强制生成
.option('sroucemaps',{
  describe:'force the ceation of sroucemaps'
})
.option('port',{
  string:true,
  default:8080,
  describe:'server port'
})

.argv

export default args;

文件流的处理

import gulp from 'gulp';
import gulpif from 'gulp-if';
import concat from 'gulp-concat';//连接
import webpack from 'webpack';//打包工具
import gulpWebpack from 'webpack-stream';//工具流
import named from 'vinyl-named';//文件名
import livereload from 'gulp-livereload';//热更新
import plumber from 'gulp-plumber';//文件信息流
import rename from 'gulp-rename';//文件重命名
import uglify from 'gulp-uglify';//压缩文件
import {log,colors} from 'gulp-util';//命令行输出工具
import args from './util/args';//命令行参数解析
gulp.task('scripts',()=>{
  return gulp.src(['app/js/index.js'])  //打开目录
  .pipe(plumber({                        //集中处理错误
    errorHandler:function(){

    }
  }))
  .pipe(named())                    //文件重命名
  .pipe(gulpWebpack({               //文件流处理重新编译,获取模块,遇到loaders用babel
    module:{
      loaders:[{
        test:/\.js$/,
        loaders:'babel'
      }]
    }
  }),null,(err,status)=>{ //对错误的处理
    log(`Finished '${colors.cyan('scripts')}'`,stats.toString({
              chunks:false
            }))
  })
  .pipe(gulp.dest('server/public/js')) //文件存放的路径
  .pipe(rename({                       //对文件复制压缩处理
    basename:'cp',
    extname:'.min.js'
  }))
  .pipe(uglify({
    compress:{properties:false},
    output:{'quote_keys':true},
  }))
  .pipe(gulp.dest('server/public/js'))   //把压缩后的文件也放在这里
  .pipe(gulpif.watch,livereload())     //检测文件是否发生改变如果发生就进行热更新
}) 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值