目前我遵循Gruntfile配置,有两个独立的任务,它完美无缺:
grunt.registerTask('server', [
'connect',
'jshint',
'less:dev',
'watch'
]);
grunt.registerTask('test', [
'karma:unit'
]);
我想做一个涵盖这两件事并登录到一个终端窗口的任务。 类似的东西:
grunt.registerTask('dev', [
'connect',
'jshint',
'less:dev',
'karma:unit',
'watch'
]);
问题在于业力和手表无法一起工作。我试图将karma:unit:run
置于watch
配置并且它可以工作,但是在每次文件更改时加载karma配置。而这件事我不喜欢:
Running "karma:unit:run" (karma) task
[2014-05-25 01:40:24.466] [DEBUG] config - Loading config /Users/.../test/karma.config.js
PhantomJS 1.9.7 (Mac OS X): Executed 4 of 4 SUCCESS (0.011 secs / 0.012 secs)
是否有可能解决此问题或更好地单独运行这些任务?
答案 0 :(得分:4)
使用grunt-concurrent同时执行监视和业力任务:
concurrent: {
target: {
tasks: ['karma:unit', 'watch']
}
}
然后从您的开发任务中运行并发任务:
grunt.registerTask('dev', [
'connect',
'jshint',
'less:dev',
'concurrent:target'
]);