2016-02-03 38 views
1

我一直在寻找一段时间,但没有运气。Gulp concat - 除了一些文件外的所有文件

我想写一个应该连接我的lib文件夹内的所有js文件,除了一些之外的一个gulp任务。

我试着用下面,使用一饮而尽,不理会,但没有运气:

var gulpIgnore = require('gulp-ignore'); 

var ignoreIonic = '!./www/lib/ionic/'; 

gulp.task('unify-libs', function() { 
    gulp.src(paths.libs) 
     .pipe(sourcemaps.init()) 
     .pipe(ngAnnotate({ 
      single_quotes: true 
     })) 
     .pipe(gulpIgnore.exclude(ignoreIonic)) 
     .pipe(concat('libs.js')) 
     .pipe(uglify()) 
     .pipe(sourcemaps.write()) 
     .pipe(gulp.dest('./src/js')); 
}); 

我的文件夹结构如下:

www 
|--lib 
    |--ionic 
    | |--css 
    | |--fonts 
    | |--js 
    | | |--angular 
    | | |--angular-ui 
    | | |--ionic.bundle.js 
    | | |--ionic.bundle.min.js 
    | | |--ionic.js 
    | | |--ionic.min.js 
    | | |--ionic-angular.js 
    | | |--ionic-angular.min.js 
    | |--scss 
    |--test.js 

我想要实现与gulp的任务是:

我想连接库文件夹里面的所有文件,但在离子 - > js里我只想连接ionic.bundle.min.js到最终的JavaScript而不是所有的文件。

任何帮助?谢谢

回答

0

最后,我解决了这种方式:

var paths = { 
    libs: ['./www/lib/**/*.js', '!./www/lib/ionic/**'], 
    .... 
}; 

gulp.task('unify-libs', function() { 
    gulp.src(paths.libs) 
     .pipe(sourcemaps.init()) 
     .pipe(ngAnnotate({single_quotes: true})) 
     .pipe(concat('libs.js')) 
     .pipe(uglify()) 
     .pipe(sourcemaps.write()) 
     .pipe(gulp.dest('./src/' + appRelease + '/js')); 
}); 

,它现在正在编译lib文件夹内的所有文件,离子文件夹内的任何文件除外。我只是决定将我需要的唯一文件直接复制到我的src文件夹中,这让我的生活变得更轻松。

希望它有帮助。

1

我的帮助并不简单,但长远来看可能会更好。我建议不要重新发明轮子,并使用经过验证的软件包进行移动应用程序开发。有一个伟大的Yeoman Geneator那里将像包括一饮而尽缩小与所有演员从头交付离子启动项目: generator-m-ionic

+0

感谢您的链接,但我花了一些时间来调整,以正确工作,因为我需要,唯一剩下要做的就是这个串联的事情.. 我应该可能使用过你提供的工具,但现在我真的不想再开始一切 – Nick

+0

阅读本文http://stackoverflow.com/questions/23384239/excluding-files-directories-from-gulp-task提供的答案,我认为它应该是:吞噬。 src([path.libs,ignoreIonic])... – niklas

+0

我得到thie错误:错误:缺少正整数 – Nick

相关问题