Запуск нескольких задач grunt

#gruntjs

#gruntjs

Вопрос:

Мой файл Grunt выглядит следующим образом

 grunt.initConfig({
  pkg: grunt.file.readJSON('package.json'),

  shell: {
    runTest: {
      command: 'phpunit'
    },
    clear: {
      command: 'clear'
    },
    phpcs: {
      command: 'phpcs --standard=PSR2 ./app'
    },
    server: {
      command: 'php -S dev:1234 -t public'
    },
    selenium: {
      command: 'selenium'
    },
    chromedriver: {
      command: 'chromedriver'
    }
});
  

и я выполняю свои задачи следующим образом:

 grunt.registerTask('selenium', 'Selenium tasks', function() {
    var done = this.async();

    grunt.task.run('shell:server');
    grunt.task.run('shell:selenium');
    grunt.task.run('shell:chromedriver');
});
  

Как я могу запускать несколько задач одновременно? При моей текущей конфигурации grunt просто немедленно завершается.

Спасибо.

Ответ №1:

Иногда все оказывается даже проще, чем вы могли бы подумать.

   grunt.registerTask('selenium', ['shell:server', 'shell:selenium', 'shell:chromedriver']);
  

Комментарии:

1. Проблема с этим заключается в том, что это процедурно, то есть он ожидает завершения первой команды перед запуском следующей. Поскольку все они являются серверами, мне нужно, чтобы они запускались одновременно.