运行多个相同类型的Grunt任务

9

我需要能够在Grunt(grunt-contrib-concat)中运行同一类型任务的多个任务。 我尝试了下面的几件事,但都没有成功。 有任何想法如何实现这个目标的是受欢迎的。

concat: {
    dist: {
        src: [
            'js/foo1/bar1.js',
            'js/foo1/bar2.js'
        ],
        dest: 'js/foo1.js',
        src: [
            'js/foo2/bar1.js',
            'js/foo2/bar2.js'
        ],
        dest: 'js/foo2.js'
    }
}

and..

concat: {
    dist: {
        src: [
            'js/foo1/bar1.js',
            'js/foo1/bar2.js'
        ],
        dest: 'js/foo1.js'
    }
},
concat: {
    dist: {
        src: [
            'js/foo2/bar1.js',
            'js/foo2/bar2.js'
        ],
        dest: 'js/foo2.js'
    }
}

并且...

concat: {
    dist: {
        src: [
            'js/foo1/bar1.js',
            'js/foo1/bar2.js'
        ],
        dest: 'js/foo1.js'
    },
    dist: {
        src: [
            'js/foo2/bar1.js',
            'js/foo2/bar2.js'
        ],
        dest: 'js/foo2.js'
    }
}

我的问题在这里得到了解答:https://dev59.com/eWEh5IYBdhLWcg3w32xG?rq=1 - user2565123
1个回答

34

首先为该任务定义两个目标:

concat: {
    dist1: {
        src: [
            'js/foo1/bar1.js',
            'js/foo1/bar2.js'
        ],
        dest: 'js/foo1.js'
    },
    dist2: {
        src: [
            'js/foo2/bar1.js',
            'js/foo2/bar2.js'
        ],
        dest: 'js/foo2.js'
    }
}

然后注册一个同时运行以下两个任务的新任务:

grunt.registerTask('dist', ['concat:dist1', 'concat:dist2']);

然后使用以下命令运行

grunt dist

一些Grunt插件(例如grunt-phpunit)不支持目标。请参见https://github.com/SaschaGalley/grunt-phpunit/issues/27 - bestattendance
我发现保持我的观察任务不变(作为[concat])也可以工作 - 它会自动通过dist1和dist2。 - patrickzdb
嗨,我遇到了这个错误:在配置中验证属性concat.dist1是否存在...错误。 - Angu
你能帮我帮别人吗? - Angu
@Angu 请提交一个新问题。 - jgillich
@jgillich 你能帮我看一下我的问题吗?http://stackoverflow.com/questions/36424008/how-to-use-grunt-concat - Angu

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