cor*_*ore 4 glob node.js npm gulp
我查看了的来源gulp.src(),显然这只是对的引用require('vinyl-fs').src()。查看vfs的文档时src(),它说它采用了它定义的任何选项,以及“任何与glob相关的选项都记录在glob-stream和node-glob中。” 根据node-glob文档,我可以传递options { sync: true }。
gulp.src(..., { sync: true })但是,当我尝试使用时,我从gulp收到此错误:
TypeError: Object #<GlobSync> has no method 'on'
Run Code Online (Sandbox Code Playgroud)
任何想法如何指定sync选项gulp.src()?
使用仍然遇到问题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);
}
Run Code Online (Sandbox Code Playgroud)
我实际上已经停止gulp.src()完全使用它,而是在各处使用它:
gulp.from = function () {
return gulp.src(deglob(arguments));
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2392 次 |
| 最近记录: |