UNPKG

gulp-turbo

Version:

前端工作流(requirejs/jade/stylus/coffee),完整强缩进工作流,同步异步模板复用,高效率适合初期前端团队

41 lines (37 loc) 1.44 kB
gulp = require 'gulp' fs = require 'fs' util = require 'gulp-util' coffee = require 'gulp-coffee' through = require 'through2' sequence = require 'gulp-sequence' plumber = require "gulp-plumber" filter = require 'gulp-filter' # coffee编译 #支持不熟悉coffee的同学直接写js gulp.task 'coffee', ()-> {approot} = global.pkg coffeeFilter = filter '**/*.coffee', {restore: true} # 读取require config配置json数据 requireConfPath = approot + '/src/coffee/require-conf.json' if fs.existsSync requireConfPath requireConf = fs.readFileSync requireConfPath, 'utf8' requireConfJson = JSON.parse requireConf # 对config添加baseUrl设置 requireConfJson.baseUrl = global.pkg.wwwroot + '/js/' requireConf = 'require.config(' + JSON.stringify(requireConfJson) + ');' gulp.src [approot+'/src/coffee/**/*.js', approot+'/src/coffee/**/*.coffee'] .pipe plumber() .pipe coffeeFilter .pipe coffee bare: true .on 'error', util.log .pipe coffeeFilter.restore .pipe through.obj (file, enc, cb)-> if /coffee[\/\\]+entry/.test(file.path) && requireConf # console.log file.path contents = requireConf + '\n' + file.contents.toString() file.contents = new Buffer contents this.push file cb() .pipe plumber.stop() .pipe gulp.dest approot+'/dev/js'