Grunt Concat任务,如何忽略所有.min.js文件?

15

我有以下grunt concat任务。如何使concat忽略所有已压缩的文件?这种方法不起作用。

concat: {
    js: {
        src:  [ 
            '<%= globalConfig.bar %>', 
            '<%= globalConfig.foo %>/*.js', 
            '<%= globalConfig.foo %>/!*.min.js', 
            '<%= globalConfig.fooLib %>/*.js', 
            '<%= globalConfig.fooLib %>/!*.min.js'
        ],
        dest: '../../foo/fooCombined.js'
    },
    css: {
        src: ['<%= globalConfig.foo %>/*.css'],
        dest: '../../foo/fooCombined.css'
    }
},

这个也不起作用:

'<%= globalConfig.fooLib %>/(*.js && !*min.js)'

任何帮助都将不胜感激。谢谢。


1
有人能简要解释一下 <%= 语法的含义吗? - CodyBugstein
它们用于模板化。请参见此处http://gruntjs.com/configuring-tasks#templates - khollenbeck
1个回答

33

试试这个:

concat: {
  js: {
    src:  [ 
        '<%= globalConfig.bar %>', 
        '<%= globalConfig.foo %>/*.js', 
        '<%= globalConfig.fooLib %>/*.js', 
        '!**/*.min.js'
    ],
    dest: '../../foo/fooCombined.js'
  },
  css: {
    src: ['<%= globalConfig.foo %>/*.css'],
    dest: '../../foo/fooCombined.css'
  }
},

在一个有效的模式的开头加上否定符号!将产生相反的效果。模式按顺序处理,因此在末尾放置一个你想要排除的否定模式就可以实现这一点。

有关更多信息,请参见http://gruntjs.com/configuring-tasks#globbing-patterns


我通过这样做使它工作了。 !<%= globalConfig.fooLib %>/*min.js' 这个链接帮了我很多,谢谢。 - khollenbeck
注意顺序。您至少需要指定要忽略的文件/文件夹。我猜JavaScript是从下往上运行的,所以它是这样工作的... - Gkiokan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接