CNode

用gulp 或 grunt 是怎么样的一个开发流程?

Tthink2011发布于12 年前最后回复12 年前7 回复5212 浏览0 收藏
查看回复

回复 (7)

J
jeremy16601#1·12 年前
R
ringtail#2·12 年前

就是gulp或者grunt是自动化的工具,然后驱动整个程序。

K
kingapple#3·12 年前

先建立一个空项目?

R
ravenwang#4·12 年前

你得先有开发流程,然后grunt/gulp来帮你自动化

T
think2011#5·12 年前
引用 ravenwang你得先有开发流程,然后grunt/gulp来帮你自动化
gulp 		= require 'gulp'
clean 		= require 'gulp-clean'
cached  	= require 'gulp-cached'
coffee  	= require 'gulp-coffee'
uglify  	= require 'gulp-uglify'
connect 	= require 'gulp-connect'
sourcemaps  = require 'gulp-sourcemaps'
runSequence = require 'run-sequence'


paths = 
	dist  : './dist'
	src   : './src'
	html  : './src/**/*.html'
	coffee: './src/**/*.coffee'


gulp.task 'default', ->
	runSequence 'clean', 'watch', 'html', 'coffee', 'connect'

gulp.task 'build', ->
	runSequence 'clean', 'html', 'build-coffee'


handleError = (err) ->
  console.log err
  @emit 'end'


gulp.task 'clean', ->
	gulp.src paths.dist, {read: false}
	.pipe clean {force: true}


gulp.task 'connect', ->
	connect.server
	  root: paths.dist
	  livereload: true


gulp.task 'html', ->
	gulp.src paths.html
	.pipe gulp.dest paths.dist
	.pipe connect.reload()


gulp.task 'coffee', ->
	gulp.src paths.coffee
	.pipe cached 'coffee'
	.pipe sourcemaps.init()	
	.pipe coffee(bare: true).on('error', handleError)
	.pipe uglify(mangle: false) # 不混淆参数
	.pipe sourcemaps.write('./')
	.pipe gulp.dest paths.dist
	.pipe connect.reload()


gulp.task 'build-coffee', ->
	gulp.src paths.coffee
	.pipe cached 'coffee'
	.pipe coffee(bare: true).on('error', handleError)
	.pipe uglify(mangle: false) # 不混淆参数
	.pipe gulp.dest paths.dist


gulp.task 'watch', ->
	gulp.watch paths.coffee, ['coffee']

	gulp.watch paths.html, ['html']

@ravenwang 我现在用的是gulp,开发流程大概是这样的。 有两个目录 dist 和 src,用到了coffee等。 在开发时编辑src下的文件,自动编译coffee,压缩等操作,同步会输出到dist目录,所以同时在调试的目录是dist。 发布的时候就发布dist里的文件。

不确定我这样的方法是不是正确的。

R
ravenwang#6·12 年前
引用 ravenwang你得先有开发流程,然后grunt/gulp来帮你自动化

@think2011 没什么正确不正确的,按这个流程开发能走通就没问题,然后开发时找到感觉麻烦的地方,持续优化就行了 貌似你们这个流程仅仅是为了处理一下coffee,我们是用connect-assets这个中间件,不需要预编译coffee

T
think2011#7·12 年前
引用 ravenwang你得先有开发流程,然后grunt/gulp来帮你自动化

@ravenwang 恩,个人项目,才刚开始接触gulp。 coffee的预编译主要是前端页面的需要,实际运行环境我是使用 pm2 来直接启动coffee的。

非常感谢!。

参与回复
登录后即可参与回复。登录