2012-08-22 36 views

回答

3

不幸的是,工頭does not run on Windows。 ddollar啓動了一個替代項目foreman-windows,嘗試添加Windows支持,但我不知道它是否完全起飛。

如果你想一個輔助任務在本地啓動您的節點環境,編寫自己的cake任務很好,雖然人工,替代:

{spawn, exec} = require 'child_process' 

task 'start', 'Spin up dev environment', -> 
    exec 'node app.js' 

然後你會在命令執行任務行:

cake start 

這給你創造各種操作多重任務的額外的好處,並微調任務,以滿足項目的需要。

請注意,Windows在某些命令時喜歡切換事物。例如,在基於* NIX的機器,你可以在瀏覽器中打開你的網站:

exec "open http://localhost:3000/" 

但在Windows上,它是start代替:

exec "start http://localhost:3000/" 

的另一個重要區別是處理環境變量。在* nix中,你可以簡單地在前面加上他們到你的命令:

exec "NODE_ENV=staging node server.js" 

但是,如果您嘗試使用這種格式與exec在Windows上,它會失敗。相反,生成一個新的bash:

terminal = spawn 'bash' 
terminal.stdin.write "NODE_ENV=staging node server.js" 
terminal.stdin.end() 

而且你可以偵聽來自bash的太事件:

terminal.stdout.on 'data', (data) -> 
    console.log "#{data}" 
terminal.stderr.on 'data', (data) -> 
    console.log "#{data}" 

如果你正在寫有支持多種平臺的工具,你可以做一個操作系統平臺檢查相對容易做出調整:

os = require 'os' 

if os.platform() is 'win32' 
    <do Windows stuff> 
相關問題