1

我想复制文件夹中的所有文件,但我想在子文件夹中排除特定的文件扩展名。我怎样才能做到这一点?

这是我的代码片段:

frontendDev: {
    files: [{
        expand: true,
        cwd: './frontend/app',
        src: ['!angular/*.js', '**/*.!(coffee|less|scss|sass)'],
        dest: './frontend/.dev'
    }]
},

注意:这里我想复制所有文件,但我想排除angular子文件夹中的(.js)文件。

有什么想法吗?谢谢

更新 - 答案

基于 Raptis Dimos 所说的包含和排除顺序很重要。所以我把包含放在第一位,最后是排除。

frontendDev: {
    files: [{
        expand: true,
        cwd: './frontend/app',
        src: ['**/*.!(coffee|less|scss|sass)', '!angular/**/*.js'],
        dest: './frontend/.dev'
    }]
},
4

1 回答 1

1

这就是它的工作原理。这 !in Grunt 将表达式转换为“排除”表达式。

您还可以查看Grunt 文档,说:

路径匹配以 ! 开头的模式 将从返回的数组中排除。模式是按顺序处理的,因此包含和排除顺序很重要。

于 2015-06-02T07:10:21.747 回答