我在项目中使用了CoffeeScript以及Gulp,最近采用了Browserify这个模块化方案,对应的gulp插件有gulp-browserify,而gulp-coffeeify是forCoffeeScript的,但是我在项目中使用watch的时候,却发现它监测到文件改动的时候,仅仅是改动该文件,而不是所有与它有依赖关系的文件。举个例子:gulpfile.jsvarMODULARIZE_LIST=['js/www/main.coffee','js/shared/modules/*'];varconfig={assetsDir:'resource/assets/',publicAssetsDir:'resource/public/assets/'};functiongetModularizedList(){varsrc=[];for(i=0;isrc.push(config.assetsDir+MODULARIZE_COFFEE_IGONRE_LIST[i]); returnsrc;}gulp.task('watch:coffeeify',function(){varsrc=getModularizedList();returngulp.src(src,{base:config.assetsDir+'js'}).pipe(watch(src,{base:config.assetsDir+'js'})).pipe(coffeeify().on('error',gutil.log)).pipe(gulp.dest(config.publicAssetsDir));});main.coffee:sayHi=require'../shared/modules/sayHi'sayHi'Jack'sayHi.coffee:module.exports=(name)->console.log"Hi,#{name}"当我将sayHi.coffee中的Hi改为Hello并保存后,它仅仅会coffeeifysayHi.coffee,而并不会把依赖它的main.coffee也重新打包,所以这个watch基本是没有什么作用的,现在每次都需要手动去coffeeify,很麻烦,不知道有什么办法?
holdtom
扬帆大鱼
相关分类