我想制作返回流的 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');
});
最佳答案
您可以使用 vinyl-source-stream将您的流转换为兼容 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()
使用的文件名。
关于javascript - 直接流式传输到 gulp.dest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30801567/