0
我正在使用Gulp,并且在将传输的源代码写入它之前,我想删除/“清除”目录中的所有内容。Node.js streams =>在传输到它之前删除文件夹的内容
有没有办法将运行删除操作的流连接到执行读取/变换/写入操作的流?
现在我有这样的:
function transpileJSX() {
var d = domain.create();
d.run(function() {
gulp.src('./public/static/app/js/views/**/*.js').pipe(react({harmony: true}))
.pipe(gulp.dest('./public/static/app/js/jsx')).on('end', function() {
d.emit('end');
d.exit();
});
});
return d;
}
function deleteJSX() {
return gulp.src('./public/static/app/js/jsx/**/*.js')
.pipe(clean({force: true}));
}
gulp.task('transpile-jsx', function() {
return transpileJSX().on('error', function (err) {
console.error(err);
});
});
gulp.task('delete-jsx', function (cb) {
return deleteJSX();
});
的问题是,这似乎并没有工作:
deleteJSX().pipe(transpileJSX());
的transpileJSX操作似乎开始deleteJSX操作开始前。当涉及到流时,这可能是预料之中的。但我认为我想通过确保整个删除操作首先完成来确保整个工作正常运行?
例如,如果我这样做:
gulp.task('some-task', ['delete-jsx','transpile-jsx'], function (done) {
someTask(done);
});
吞气日志表明transpile-JSX任务删除,JSX任务结束前开始。
如果有人有一个模式用于清理文件夹,然后再进行转换,我想复制它谢谢!
谢谢,这很有道理!你知道什么时候gulp 4会被释放? –
由于[一些突出的重大更改](https://github.com/gulpjs/gulp/issues/1486),没有设置[截止日期](https://github.com/gulpjs/gulp/milestones) ,但是如果你想试试它,你可以[安装当前的开发版本](http://blog.reactandbethankful.com/posts/2015/05/01/how-to-install-gulp-4/)。我一直在玩它,并没有遇到任何问题,但YMMV。 –