我有一个使用Karma运行的Jasmine单元测试的AngularJS项目,我正在尝试使用Gulp作为我的任务自动机。我将测试spec
文件与其他概念文件一起作为prescribed by the JohnPapa Angular 1 style guide。
我尝试使用glob's ignore option忽略应用程序连接步骤中的*.spec.js
文件,以防止将测试代码包含在分布式应用程序文件中,但它无效。
gulp.task('js:concat:application', function() {
return gulp.src([
our.js + 'app.js',
our.js + '**/*.module.js',
our.js + '**/*.js'
], { ignore: ['**/*.spec.js'] })
.pipe(concat('application.js'))
.pipe(gulp.dest(our.built.js));
});
我已经尝试了'*.spec.js'
,'**/*.spec.js'
和'spec.js'
,以及相同的值,但是作为数组中唯一的值,如上所示。
gulp.src
's documentation表示支持node-glob
的选项(包括ignore
选项),但添加文档描述的方式似乎不起作用。在这一点上,我不确定它为什么不起作用。
版本:
答案 0 :(得分:2)
您可以在gulp.src
中排除特定文件,方法是在glob documentation所示的模式前加一个感叹号。
gulp.task('js:concat:application', function() {
return gulp.src([
our.js + 'app.js',
our.js + '**/*.module.js',
our.js + '**/*.js',
'!**/*.spec.js'])
.pipe(concat('application.js'))
.pipe(gulp.dest(our.built.js));
});