在一个terminal启动多个工具,如grunt和http-server

我在窗口上使用git-bash,并且发现打开两个terminal窗口(并导航到两个正确的path)令人讨厌:

  • 启动一个http-server到服务器的静态文件(节点工具)
  • 开始grunt(默认grunt任务是grunt-watch,它监视文件系统并在事情改变时运行任务)

我想要的是能够执行一个bash脚本或东西

  1. 启动http服务器
  2. 如果有关的话开始其他事情
  3. 运行grunt命令来启动它的观察

我的问题是:

  1. 可能吗?
  2. 这是实用的吗? (也就是说,控制台的反馈可能是不可能的,或者如果能够显示多个事物,那么控制台的反馈可能是混乱的,如果甚至可能的话)
  3. 有没有更好的办法? – 多个terminal之外:o)

如果你已经使用了Grunt,你应该能够利用Grunt的任务队列一次运行多个任务。 通常,对于每个项目,您都有一些默认的任务来编排一个正在运行的开发环境,如下所示:

grunt.registerTask( 'default', 'Starts the server in development mode and watches for changes', ['build', 'server', 'watch']); 

但有时候,仅仅排队工作是不够的。 您可以写入特别任务,并使用Grunt的广泛的API,如grunt.task.run和任务内的丰富上下文。

我不打算用例子来轰炸你,但是你可以在这里做的事情包括从远程数据源获取数据,产生不同的子进程,将stdin到Grunt进程以及使用grunt.task.run启动任意任务。