7

运行 uglify 时,我需要让它忽略某些文件和文件夹,但仍然递归扫描整个文件夹结构。

我有一个 concat 任务,它将我所有的插件连接在一起,并使它们成为一个文件。我需要确保 uglify 忽略这些文件并且不对它们进行操作,因为我不希望它们位于目标目录中,因为 concat 已经为我处理了这些文件。

我尝试使用前面的!将文件和文件夹添加到我的 src 数组中,但它仍然对它们进行操作。

以下是我正在尝试使用的,但它不起作用:

uglify: {
    options: {
        banner: '/*! <%= grunt.template.today("mm-dd-yyyy h:MM:ss TT") %> */\n'
    },
    files: {
        src: [
                 '!ie'
                ,'!polyfills'
                ,'!vendor'
                ,'!iecompat.js'
                ,'**/*.js'
             ],
        dest: 'app/scripts',
        cwd: 'sources/scripts',
        ext: ".js",
        flatten: false,
        expand: true
    }
},
4

2 回答 2

7

Ilan Frumer 的建议可能是一个很好的建议。

现在,关于您的具体问题,您的模式当然需要进行如下调整:

例子:

 '!**/ie/*'

将忽略子目录中任何位置名为“ie”的文件夹中的任何文件(这可能是您想要的,对吗?)

同样适用于:

 '!**/iecompat.js'

这将忽略文件夹/子文件夹中任何位置的名为 iecompat.js 的文件。

您应该从这里开始以更好地理解 grunt 中的文件选择机制。

于 2014-01-16T16:25:49.847 回答
1

上面的答案对我不起作用,因为那是(据我所知)寻找子文件夹,而不是子文件夹。

这对我有用:

'!ie/**'
于 2014-10-02T12:17:57.013 回答