如何防止grunt uglify覆盖目标文件夹

时间:2017-02-10 13:49:11

标签: javascript gruntjs frontend grunt-contrib-uglify

我正在尝试设置我的grunt文件,以便不覆盖目标文件夹中的某些文件夹,但我无法弄清楚如何。

我的结构

基本上我有2个文件夹:

  • 的htdocs
  • htdocs_src enter image description here

htdocs_src是我们用来开发东西的文件夹,然后我们运行一个监视任务,将所有代码复制到htdocs文件夹。

我的问题

我们直接在htdocs文件夹中添加一些库,所以我们不希望它们被grunt uglify任务触及......问题是它没有发生。

任务以这种方式配置:

uglify: {
        options : {
            beautify: false,
            report: "min",
            mangle: {
                except: ['jQuery']
            },
            exclude: ['!/ifc-easy-checkout*/**/*', '!/ifc-events*/**/*', '!/ifc-vendors*/**/*'],
            compress: {
                global_defs: {
                  "DEBUG": false
                }/*,
                dead_code: true*/
            }
        },
        target: {
            cwd: '<%= dirs.GENERATED_JS %>',
            src: ['**/*.js'],
            dest: '<%= dirs.GENERATED_JS %>',
            expand: true
        },
    },

在exclude属性上我试图对插件说不要覆盖这些文件夹,但它不起作用。

我目前正在使用grunt-contrib-uglify 2.0.0

我尝试了几种不同的解决方案,例如更改了exceptionsFiles的exclude属性,但是它在htdocs_src中搜索了这些文件夹,因为它不在那里,它不起作用(但它不是我想要的,一旦我需要的是避免在目标文件夹中覆盖一些文件夹。)

如何设置此插件的任何想法?

1 个答案:

答案 0 :(得分:2)

尝试将排除的文件放入src并删除exclude标记

 target: {
            cwd: '<%= dirs.GENERATED_JS %>',
            src: ['**/*.js','!/ifc-easy-checkout*/**/*', '!/ifc-events*/**/*', '!/ifc-vendors*/**/*'],
            dest: '<%= dirs.GENERATED_JS %>',
            expand: true
        },