gulp举例

var  gulp  require( 'gulp') ;
var  gutil  require( 'gulp-util') ;
var  bower  require( 'bower') ;
var  concat  require( 'gulp-concat') ;
var  sass  require( 'gulp-sass') ;
var  minifyCss  require( 'gulp-minify-css') ;
var  rename  require( 'gulp-rename') ;
var  sh  require( 'shelljs') ;

var  paths  {
  sass [ 'app/scss/**/*.scss'] ,
  src 'app' ,
  dist 'www'
} ;

gulp. task( 'default' [ 'sass' 'concat-controllers' 'concat-services' 'concat-directives' 'concat-filters']) ;

gulp. task( 'sass' function ( done) {
  gulp. src( 'app/scss/*.scss')
    . pipe( sass())
    . on( 'error' sass. logError)
    // .pipe(minifyCss({
    //   keepSpecialComments: 0
    // }))
    // .pipe(rename({ extname: '.min.css' }))
    . pipe( concat( 'style.css'))
    . pipe( gulp. dest( 'app/css/'))
    . on( 'end' done) ;
}) ;


gulp. task( 'install' [ 'git-check'] function () {
  return  bower. commands. install()
    . on( 'log' function ( data) {
      gutil. log( 'bower' gutil. colors. cyan( data. id) data. message) ;
    }) ;
}) ;

gulp. task( 'git-check' function ( done) {
  if ( ! sh. which( 'git')) {
    console. log(
      '  '  gutil. colors. red( 'Git is not installed.') ,
      ' \n   Git, the version control system, is required to download Ionic.' ,
      ' \n   Download git here:' gutil. colors. cyan( 'http://git-scm.com/downloads' '.' ,
      ' \n   Once git is installed, run  \' gutil. colors. cyan( 'gulp install' ' \'  again.'
    ) ;
    process. exit( 1) ;
  }
  done() ;
}) ;

// Angular合并js
gulp. task( 'concat-controllers' function () {
  gulp. src([ 'app/js/controllers/base.js' 'app/js/controllers/*.js'])
    . pipe( concat( 'controllers.js'))
    . pipe( gulp. dest( 'app/js')) ;
}) ;

gulp. task( 'concat-services' function () {
  gulp. src([ 'app/js/services/base.js' 'app/js/services/*.js'])
    . pipe( concat( 'services.js'))
    . pipe( gulp. dest( 'app/js')) ;
}) ;

gulp. task( 'concat-directives' function () {
  gulp. src([ 'app/js/directives/base.js' 'app/js/directives/*.js'])
    . pipe( concat( 'directives.js'))
    . pipe( gulp. dest( 'app/js')) ;
}) ;

gulp. task( 'concat-filters' function () {
  gulp. src([ 'app/js/filters/base.js' 'app/js/filters/*.js'])
    . pipe( concat( 'filters.js'))
    . pipe( gulp. dest( 'app/js')) ;
}) ;

gulp. task( 'watch' [ 'default'] function () {
  gulp. watch( paths. sass [ 'sass']) ;

  // AngularJS文件监听
  gulp. watch( 'app/js/controllers/*.js' [ 'concat-controllers'] function ( event) {
    console. log( 'Concat controllers '  event. path) ;
  }) ;

  gulp. watch( 'app/js/services/*.js' [ 'concat-services'] function ( event) {
    console. log( 'Concat services'  event. path) ;
  }) ;

  gulp. watch( 'app/js/directives/*.js' [ 'concat-directives'] function ( event) {
    console. log( 'Concat directives'  event. path) ;
  }) ;

  gulp. watch( 'app/js/filters/*.js' [ 'concat-filters'] function ( event) {
    console. log( 'Concat filters'  event. path) ;
  }) ;
}) ;


// build
gulp. task( 'build' [ 'default'] function () {
  // 拷贝css并压缩
  gulp. src( paths. src  '/css/**/*.css')
    . pipe( minifyCss({
      keepSpecialComments 0
    }))
    . pipe( gulp. dest( paths. dist  '/css')) ;

  // 拷贝img
  gulp. src( paths. src  '/img/**')
    . pipe( gulp. dest( paths. dist  '/img')) ;

  // 拷贝js
  gulp. src( paths. src  '/js/*.js')
    . pipe( gulp. dest( paths. dist  '/js')) ;

  // 拷贝lib
  gulp. src( paths. src  '/lib/**')
    . pipe( gulp. dest( paths. dist  '/lib')) ;

  // 拷贝templates
  gulp. src( paths. src  '/templates/**')
    . pipe( gulp. dest( paths. dist  '/templates')) ;

  // 拷贝manifest.json
  gulp. src( paths. src  '/manifest.json')
    . pipe( gulp. dest( paths. dist)) ;

  // 拷贝service-worker.js
  gulp. src( paths. src  '/service-worker.js')
    . pipe( gulp. dest( paths. dist)) ;

  // 拷贝index.html
  gulp. src( paths. src  '/index.html')
    . pipe( gulp. dest( paths. dist)) ;
}) ;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未来-更美好

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值