包括所有.d.ts但在glob上为gulp.src排除.ts

时间:2017-05-03 18:20:28

标签: javascript node.js gulp glob minimatch

背景

在我的Angular2项目上编译我的Typescript文件后,我将拥有以下目录结构(简化):

├── app
│   └── app.module.d.ts
│   └── app.module.js
│   └── app.module.ts
│   └── index.d.ts
│   └── index.js
│   └── index.ts
│   └── sample.component.d.ts
│   └── sample.component.js
│   └── sample.component.ts
│   └── sample.component.html
│   └── sample.component.css

问题

使用gulp@3.9.1gulp.src(),如何创建一个包含app文件夹下所有文件的glob数组,但忽略与其对应的.ts个文件.d.ts个文件?

1 个答案:

答案 0 :(得分:1)

在您的情况下最简单的方法是明确您想要包含的内容。

工作示例:

$file = 'c:\temp\config.ini'
# login.ruby.authentication.key=eskimopie
$pattern = [regex] "(.*?login\.ruby\.authentication\.key)=(.*?).*"
$secret = '12345678'


$text = (Get-Content -Path c:\temp\config.ini) 
$value = $text -match "$pattern"
$text -replace "$pattern",'$1=$secret' | Set-Content config.new

结果:

var gulp = require('gulp');

gulp.task('default', function() {
    gulp.src('app/**/*.*(js|html|css|d.ts)').pipe(gulp.dest('./out'));
});

请在此处查看有关gulp glob选项的文档: https://github.com/gulpjs/gulp/blob/master/docs/API.md#gulpsrcglobs-options

其中固有地使用$ tree out out ├── app.module.d.ts ├── app.module.js ├── index.d.ts ├── index.js ├── sample.component.css ├── sample.component.d.ts ├── sample.component.html └── sample.component.js 0 directories, 8 files 模式,在此处记录: https://github.com/isaacs/node-glob