Grunt ng-annotate复制完整目录

时间:2016-08-10 10:50:00

标签: gruntjs annotations minify ng-annotate

我已将Grunt配置为使用ng-annotate。我想要的是注释特定目录中的所有.js文件,并在注释完成时将它们复制到新目录。但是,完整的src文件夹将复制到新目录。这是我的配置:

 ngAnnotate: {
        options: {
            singleQuotes: true
        },
        dist: {
            files: [{
                expand: true,
                src: ['./src/modules/*.js'],
                dest: './src/min-safe',
                ext: '.annotated.js',
                extDot: 'last'
            }],
        }
    }

这样,我有一个带有src / modules和带注释文件的min-safe文件夹。如何直接将带注释的文件复制到min-safe中?

1 个答案:

答案 0 :(得分:2)

Grunt的srcdest选项可能令人困惑,但它们在插件中是一致的(或者至少应该是这些插件)。 Grunt文档解释了how those options can be used以处理文件。

您的问题是您没有指定cwd选项,因此所有src匹配都是针对项目的当前目录(cwd默认值)。复制src文件时,会包含cwd和匹配文件之间的目录。

如果您使用此配置,它应该执行您想要的操作:

ngAnnotate: {
    options: {
        singleQuotes: true
    },
    dist: {
        files: [{
            expand: true,
            cwd: './src/modules',
            src: ['*.js'],
            dest: './src/min-safe',
            ext: '.annotated.js',
            extDot: 'last'
        }]
    }
}