2013-12-16 56 views
0

我是gruntJS的新手。看看教程/演示文稿,我相信它很棒。 目前,我們正在使用我們的網絡+嵌入式項目,該項目執行以下任務批處理腳本:從.bat轉移到grunt

  1. 合併所有的JS文件分割成一個。
  2. 將所有CSS文件合併爲一個。
  3. 殺死我們項目運行的現有.EXE。它基本上是一個模擬器的EXE,可以加載和運行我們的網站。我們的網站以ZIP文件的形式打包。
  4. 刪除現有的ZIP文件。
  5. 創建一個新的ZIP文件,該文件將包含「html」,「lsp」(Lua服務器頁面),圖像,JS(其中只包含一個合併文件),CSS(僅包含一個CSS文件) 。
  6. 啓動.EXE。基本上,EXE一旦加載,就會從指定的目錄中選取zip文件。

我明白,合併過程可以通過gruntJS來實現,但我不確定啓動/查殺EXE。如果有人給我指示如何開始,那將是非常棒的。一旦確定了這個過程,我可以說服我的老闆。

感謝您的閱讀。

+1

幾乎重複:http://stackoverflow.com/questions/10456865/running-a-command -in-a-grunt-task –

回答

2

有一個類似grunt的腳本啓動你的服務器並不是好的做法。在理想的世界中,您可以將構建和包裝階段與服務器的啓動分開。

但無論如何,要麼有grunt plugins這樣做,要麼就是節點的vanilla child_process,假設你用node來運行grunt

使用grunt-exec它應該是這樣的:

exec: { 
    start_server: { 
    command: 'program.exe' 
    } 
} 

使用香草做法:

var spawn = require('child_process').spawn; 
prog = spawn('program.exe'); 

prog.on('close', function (returnCode) { 
    console.log('program.exe terminated with code', returnCode); 
}); 
+0

感謝@grasGendarme的解釋。 –

+0

是否可以通過grunt將所有腳本文件合併到一個zip文件中? –

+1

@AnupVasudeva是的。快速谷歌搜索,我發現['grunt-compress'](https://github.com/gruntjs/grunt-contrib-compress)這似乎很酷(它支持各種其他格式),還有['grunt-zip' ](https://github.com/twolfson/grunt-zip)。 –