使用gulp.src()来包含除第三方目录以外的所有文件 [英] Using gulp.src() to include all files EXCEPT js files NOT in 3rd party dir
问题描述
我试图复制所有不在目录 3rd
中的js文件。
是我在做什么:
return gulp.src([
'src / ** / *',
'!src / ** / *。js',//没有来自src的js文件
'src / ** / 3rd / *。js'//确保通过$获得第三方js文件
])
.pipe(gulp.dest('dist'));
然而,这并不会复制任何js文件:(
)这可以通过即将发布的gulp 4.0 :
<传递给gulp.src的p> globs将按顺序进行评估,这意味着这可能是gulp.src(['* .js','!b * .js','bad.js']
)(排除以b
开头的每个JS文件,bad.js )
对于gulp 3.x,有 gulp-src-ordered-globs
可用于替换常规 gulp.src()
:
var gulpSrc = require('gulp-src-ordered-globs');
return gulpSrc([
'src / ** / *',
'!src / ** / *。js',//没有来自src的js文件
'src / ** / 3rd / *。js'//务必通过
]获得第三方js文件)
.pipe(gulp.dest('dist'));
I am trying to copy all files EXCEPT js files that are not in the directory 3rd
.
This is what I was doing:
return gulp.src([
'src/**/*',
'!src/**/*.js', // no js files from src
'src/**/3rd/*.js' // make sure to get 3rd party js files though
])
.pipe(gulp.dest('dist'));
However this would not copy ANY js files :(
In gulp 3.x globs passed to gulp.src()
are not evaluated in order. That means it is not possible to exclude a set of files and then reinclude a subset of the excluded files.
This will be possible with the upcoming gulp 4.0:
globs passed to gulp.src will be evaluated in order, which means this is possible
gulp.src(['*.js', '!b*.js', 'bad.js']
) (exclude every JS file that starts with ab
exceptbad.js
)
For gulp 3.x there is the gulp-src-ordered-globs
package which can be used in place of the regular gulp.src()
:
var gulpSrc = require('gulp-src-ordered-globs');
return gulpSrc([
'src/**/*',
'!src/**/*.js', // no js files from src
'src/**/3rd/*.js' // make sure to get 3rd party js files though
])
.pipe(gulp.dest('dist'));
这篇关于使用gulp.src()来包含除第三方目录以外的所有文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!