2013-09-25 38 views
6

在我的Gruntfile中,我如何將日誌語句添加到其處理中,如以下示例中所示?如何用日誌語句調試Gruntfile.js?

karma: { 
     unit: { 
      configFile: "<%= grunt.option('Debug') ? 'build/karma.conf.js' : '' %>", 
      console.log(configFile), 
      singleRun: true, 
      browsers: ['PhantomJS'] 
     }, 
    } 

回答

2

這將是很好,如果它很簡單... console.log()只輸出客戶端的東西到客戶端;但是,由於您正在處理服務器端的事情,因此您不會在瀏覽器控制檯(而不是服務器控制檯,可能是您的終端)中看到任何內容。

有此感謝他人的工作,例如圍繞一個辦法: https://github.com/ethanl/connect-browser-logger

這將基本上扯起這些服務器端註銷的客戶給你看。如果你使用Google,你會發現其他一些解決方案(有些可以設置斷點,逐步執行代碼等)。

不是破爛!

編輯:基督,我只是意識到你想要記錄具體IN你gruntfile。這有點不同,但它仍然適合你!

8

Gruntfiles是JavaScript,所以你可以使用console.log()只要它是有效的JavaScript。

grunt.initConfig({ 
    karma: { 
    unit: { 
     configFile: 'build/karma.conf.js' 
    } 
    } 
}); 
if (grunt.option('debug')) { 
    console.log(grunt.config('karma.unit.configFile')); 
} 
3

我不是你的要求,但如果你希望將調試日誌記錄在Gruntfile.js,你見過grunt.log方法?

0

有各種工具,如node inspector,將允許人們調試這些特定的文件。

在節點檢查器(從GitHub的頁面):

節點檢查是Node.js的應用程序調試器接口, 使用眨眼開發工具(前身爲WebKit網絡檢查)。

這個計算器問題有關於如何具體做一些偉大的答案: Using node-inspector with Grunt tasks