让Gulp运行后台进程

时间:2014-11-21 11:28:58

标签: node.js gulp spawn browser-sync

这是我的gulpfile.coffee

# Dependencies
gulp           = require "gulp"
browserSync    = require "browser-sync"
minimist       = require "minimist"



# Configuration
available_arguments =

  # Default values
  default:
    path: ''
    mode: false

  # What arguments to treat as strings
  string: [
    'path'
  ]



# Preparation
args = minimist process.argv.slice(2), available_arguments



# Start BrowserSync
gulp.task "browser-sync", ->
  browserSync
    open:      args.path?
    startPath: args.path
    ghostMode: args.ghost
    server:
      baseDir: "./"


# Use default task to launch BrowserSync and watch JS files
gulp.task "default", ["browser-sync"], ->

  # add browserSync.reload to the tasks array to make
  # all browsers reload after tasks are complete.
  gulp.watch "*.html", browserSync.reload

它使用BrowserSync来监视某些文件并重新加载浏览器。

目前它设计用于处理静态文件。

我已经开始使用静态网站生成器,Middleman。 Middleman运行一个开发网络服务器,用于从源代码生成生成的网页。

我能够修改上面的Gulpfile,以便BrowserSync代理Middleman而不是提供静态文件。

我很难弄明白的是如何让Gulp在背景中开始使用Middleman。

要求:

  • Middleman应该在gulp.watch(最后一行)之前在后台启动。
  • Middleman应与Gulp并行。 I. e。 Gulp不应该等待Middleman完成。
  • Middleman应该打印到终端(正常消息和错误)。
  • gulp watch终止时,应终止Middleman。
  • 当Middleman终止时,应该终止Gulp,这样我就可以在修复导致它终止的问题后重启Middleman。

运行Middleman的命令是bundle exec middleman server

0 个答案:

没有答案