我已经多次使用了湾,但是这个问题使我完全困惑。我有一个render
任务可以保存通过gulp-swig
管道管道的HTML模板。当通过gulp render
手动调用时,它可以很好地工作,但是当任务由gulp.watch
触发时,它将无法保存。因此,为了澄清,Watcher dis 触发了任务,但渲染文件实际上并不能保存到其目的地。
我已经将问题归结为以下内容,从我的墨西哥墨西哥一下罗里(Gulpfile)删除了所有其他任务,斧头,上下文数据等。
任何帮助!var gulp = require( 'gulp' ),
browserSync = require( 'browser-sync' ).create(),
rename = require( 'gulp-rename' ),
swig = require( 'gulp-swig' ),
reload = browserSync.reload;
gulp.task( 'render', function() {
return gulp.src( './dev/template.html' )
.pipe( swig() )
.pipe( rename( 'index.html' ) )
.pipe( gulp.dest( './preview' ) )
.on( 'end', reload );
});
gulp.task( 'serve', function() {
browserSync.init( { server: './preview' } );
gulp.watch( './dev/*.html', [ 'render' ] );
});
gulp.task( 'default', [ 'serve' ] );
duh,使它起作用。看来Swig默认情况下将模板缓存(?),因此实际上是保存文件,但相同。我注意到有关SWIG的另一个(无关)帖子中的"缓存"选项,该帖子可以解决问题。因此,我需要传递选项对象,例如:
.pipe( swig({
defaults: { cache: false }
}) )