gpt4 book ai didi

node.js - gulp.src 使用同步 globbing

转载 作者:搜寻专家 更新时间:2023-10-31 23:05:02 29 4
gpt4 key购买 nike

我查看了 gulp.src() 的源代码,显然它只是对 require('vinyl-fs').src() 的引用。查看 vfs 的 src() 文档,它说它采用它定义的任何选项,以及“任何与 glob 相关的选项都记录在 glob-stream 和 node-glob 中。”根据 node-glob 的文档,我可以传入选项 { sync: true }

但是,当我尝试使用 gulp.src(..., { sync: true }) 时,我从 gulp 得到了这个错误:

TypeError: Object #<GlobSync> has no method 'on'

知道如何使用 gulp.src() 指定 sync 选项吗?

最佳答案

使用 gulp.src(filePatterns).pipe(order(filePatterns)) 仍然遇到问题。每次运行 gulp 时,连接的输出顺序现在都保持不变,但连接的顺序不是 filePatterns 数组文字指定的顺序。也许我错过了什么。

无论如何,我最终实现了下面的解决方法。例如,我不再执行 gulp.src(filePatterns),而是执行 gulp.src(deglob(filePatterns)) 并且每次都获得相同的顺序,并且filePatterns 数组文字的定义顺序。

function deglob() {
var syncGlob = require('glob').sync,
patterns = _.flatten(arguments, true);

return _.flatten(patterns.map(function(pattern) {
return syncGlob(pattern).map(function(file) {
return pattern.charAt(0) === '!' ? ('!' + file) : file;
});
}), true);
}

我实际上已经完全停止使用 gulp.src() 而是到处使用它:

gulp.from = function () {
return gulp.src(deglob(arguments));
};

关于node.js - gulp.src 使用同步 globbing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28486866/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com