Я использую в своем проекте Grunt (инструмент для построения командной строки на основе задач для проектов JavaScript). Я создал собственный тег, и мне интересно, можно ли ввести в него команду.
Чтобы уточнить, я пытаюсь использовать шаблоны закрытия, и «задача» должна вызывать файл jar для предварительной компиляции файла Soy в файл javascript.
Я запускаю эту банку из командной строки, но хочу установить ее как задачу.
grunt-shell
к работе с Windows + Cygwin, но мне повезло большеgrunt-exec
."exec:cmd1", "exec:cmd2"
тогда у вас также есть синхронный заказ.Проверить
grunt.util.spawn
:источник
opts: {stdio: 'inherit'},
вы можете увидеть результат командыgrunt-legacy-util
плагин.require('child_process').spawn()
Вместо этого рекомендуется использовать .Я нашел решение, поэтому хочу поделиться с вами.
Я использую grunt под узлом, поэтому для вызова команд терминала вам потребуется модуль child_process.
Например,
источник
sh
раньше,sh mayCommand.sh
я не уверен, что он будет работать на windowsЕсли вы используете последнюю версию grunt (0.4.0rc7 на момент написания), оба grunt-exec и grunt-shell не работают (похоже, они не обновлены для обработки последнего grunt). С другой стороны, exec child_process является асинхронным, что вызывает затруднения.
В итоге я использовал решение Джейка Трента и добавил shelljs в качестве зависимости разработчика от моего проекта, чтобы я мог просто запускать тесты легко и синхронно:
источник
grunt-shell
отлично работаетgrunt v0.4.5
под WindowsРебята указывают child_process, но попробуйте использовать execSync, чтобы увидеть результат ..
источник
Для команд async оболочки, работающих с Grunt 0.4.x, используйте https://github.com/rma4ok/grunt-bg-shell .
источник