2014-08-28 20 views
0

我想從節點.js文件同步運行一個grunt任務。來自節點的Rund咕嚕任務並將結果保存在變量中

它是一個構建過程,所以所有失敗的腳本/任務都應該停止構建。

我嘗試了

var res = grunt.tasks(['compile']); 
console.log('res: ', res); 

和運行我的編譯工作,但沒有被存儲在res。事實上,我發現任務已經運行了async,因爲在任務開始之前日誌就出現了。

我該怎麼做?

順便說一句,也

grunt.util.spawn({ 
    grunt: true, 
    args: ['compile'] 
}, function(err, res, code) { 
    console.log('err', err); 
}); 

試過,但沒有給出任何輸出,只是擋住了我的命令行...

回答

0

// If specified, the same grunt bin that is currently running will be // spawned as the child command, instead of the "cmd" option.

我讀到這裏就是spawn代碼片段應該與grunt一起運行,而不是直接與node一起運行,因爲該問題的標題暗示。

+0

嗯好吧,我明白了。那麼還有另外一種方法,我可以在'.js'中運行一個咕嚕任務,同步並將其結果存儲在一個變量中? – Rikard 2014-08-28 10:50:43

+0

@Rikard是的,像使用其他程序一樣將其作爲shell命令運行,並獲取其輸出/錯誤。 – rollingBalls 2014-08-28 11:00:54