gulp-turbo
Version:
前端工作流(requirejs/jade/stylus/coffee),完整强缩进工作流,同步异步模板复用,高效率适合初期前端团队
41 lines (37 loc) • 1.44 kB
text/coffeescript
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'
gulp.task 'coffee', ()->
{approot} = global.pkg
coffeeFilter = filter '**/*.coffee', {restore: true}
requireConfPath = approot + '/src/coffee/require-conf.json'
if fs.existsSync requireConfPath
requireConf = fs.readFileSync requireConfPath, 'utf8'
requireConfJson = JSON.parse requireConf
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'