包括所有 .d.ts 但排除 glob 上的 .ts for gulp.src

Include all .d.ts but exclude .ts on glob for gulp.src

背景

在我的 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 文件?

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

工作示例:

var gulp = require('gulp');

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

结果:

$ 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

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

本质上使用 node-gulp 模式,记录在此处: https://github.com/isaacs/node-glob