直接流式传输到 gulp.dest
Streaming directly to gulp.dest
我想制作返回流的 npm 模块,然后将其通过管道传输到其他应用程序中的gulp.dest
。
例:
// some-module.js
module.exports = function() {
return require('fs').createReadStream('someFile.txt');
}
// gulpfile.js
gulp.task('default', function() {
var myModule = require('./some-module');
myModule().pipe(gulp.dest('./'));
});
不幸的是,对于这段代码,我得到了:
path.js:313
throw new TypeError('Arguments to path.resolve must be strings');
^
TypeError: Arguments to path.resolve must be strings
它以这种方式工作
// gulpfile.js
gulp.task('default', function() {
var myModule = require('./some-module');
var fs = require('fs');
myModule().pipe(fs.createWriteStream('someOtherFile.txt');
});
您可以使用乙烯基源流将流转换为与 gulp 兼容的流。
得到它:
npm install vinyl-source-stream --save-dev
用法:
// gulpfile.js
var source = require('vinyl-source-stream');
gulp.task('default', function() {
var myModule = require('./some-module');
myModule()
.pipe(source('someOtherFile.txt'))
.pipe(gulp.dest('./'));
});
要source()
的参数将是 gulp.dest()
使用的文件名。
相关文章:
- 当使用Watchify时,Browserify+Babelify Gulp任务没有终止
- gulp-if-javascript文件,但不在gulp-useref的特定目录中
- gulp Iconify任务抛出错误TypeError:Path必须是字符串.收到false
- Gulp Browserify combine JS
- 如何在使用loopback REST API时更改gulp-angular项目的端口号
- Gulp设置javascript对象
- Gulp:如何将CDN用于js-lib
- Gulp: Jscs with parameter
- 使用Gulp手柄部分编译为单个HTML文件
- "检测到可能的EventEmitter内存泄漏”;使用Gulp+Watchify+Factor捆绑包
- 最小化js时出现Gulp错误
- gulp流不生成dest文件
- 如何在gulp.dest()中找到父目录的路径
- Gulp运行并完成任务然后退出,而不是运行Gulp .dest()
- 为什么Gulp不保留dest函数返回的文件名
- 删除吞咽.在gulp.dest之后的SRC文件
- 使用Gulp.js和globbing模式就地修改文件(相同的dest)
- Gulp imagemin dest.on 不是函数错误
- 直接流式传输到 gulp.dest
- Gulp dest()基于文件名的动态目标文件夹