Gulpjs否定文件,然后重新添加它

有这样一个问题,但我相信我的情况稍有不同,我似乎无法弄清楚。

鉴于这个伪代码

1.) BaseFolder/*.js except the app.js file 2.) BaseFolder/app/model/*js 3.) BaseFolder/app/store/*.js 4.) BaseFolder/app/view/*.js except Viewport.js 5.) BaseFolder/app/view/Viewport.js 6.) BaseFolder/app/controller/*.js 7.) BaseFolder/app.js 

我的问题是,我否定app.js文件例如,然后我想在最后重新添加它。 与Viewport.js文件相同的处理。

任何想法如何解决这个问题?

这是我尝试过的许多事情之一:

 var senchaFiles = [ baseFolderPath + '/*.js', '!' + baseFolderPath + '/app.js', baseFolderPath + '/app/model/*.js', baseFolderPath + '/app/store/*.js', baseFolderPath + '/app/view/*.js', '!' + baseFolderPath + '/app/view/Viewport.js', baseFolderPath + '/app/view/Viewport.js', baseFolderPath + '/app/controller/*.js', baseFolderPath + '/app.js' ]; return gulp.src(senchaFiles) .pipe(concat(folder + '.js')) // .pipe(sourcemaps.init()) //.pipe(gulp.dest(JS_DIST_FOLDER)) // .pipe(uglify()) // .pipe(rename(folder + '.min.js')) // .pipe(sourcemaps.write()) .pipe(gulp.dest(JS_DIST_FOLDER)); }); 

运行这段代码并不会在app.js或我否定的Viewport.js文件中添加回来。

Gulp使用节点glob语法 。 下面的代码可能是你在找什么。

 var senchaFiles = [ baseFolderPath + '/!(app)*.js', // all, but app.js baseFolderPath + '/app/model/*.js', baseFolderPath + '/app/store/*.js', baseFolderPath + '/app/view/!(Viewport)*.js', // all, but Viewport.js baseFolderPath + '/app/view/Viewport.js', baseFolderPath + '/app/controller/*.js', baseFolderPath + '/app.js' ];