【问题标题】:How to select all files, but exclude particular file extensions in a directory如何选择所有文件,但排除目录中的特定文件扩展名
【发布时间】:2015-06-02 15:19:15
【问题描述】:

我想复制文件夹中的所有文件,但我想排除子文件夹中的特定文件扩展名。我该怎么做?

这是我的代码的 sn-p:

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'
    }]
},

【问题讨论】:

    标签: regex gruntjs grunt-contrib-copy


    【解决方案1】:

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

    你也可以查看Grunt docs,说:

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

    【讨论】:

      猜你喜欢
      • 2023-01-23
      • 1970-01-01
      • 2016-03-20
      • 2019-11-03
      • 1970-01-01
      • 1970-01-01
      • 2013-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多