如何使用日志语句调试Gruntfile.js?

时间:2013-09-25 16:11:28

标签: jquery gruntjs karma-runner grunt-contrib-qunit

在我的Gruntfile中,如何在其处理中添加日志语句,如下例所示?

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

4 个答案:

答案 0 :(得分:9)

Gruntfiles是javascript,所以只要它是有效的javascript就可以使用console.log()

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

答案 1 :(得分:3)

我不是你问的问题,但是如果你想在Gruntfile.js中放置调试日志,你看到了grunt.log方法吗?

答案 2 :(得分:2)

如果它很简单就好了... console.log()只向客户端输出客户端内容;但是,由于你在服务器端工作,你不会在浏览器控制台(而不是服务器控制台,可能是你的终端)中看到任何弹出的内容。

这要归功于其他人的工作,例如: https://github.com/ethanl/connect-browser-logger

这基本上会将这些服务器端日志提升到客户端供您查看。如果您使用Google,您将找到一系列其他解决方案(其中一些可以设置断点,逐步执行代码等)。

不是破旧!

编辑:基督,我刚刚意识到你想要专门记录 IN 你的gruntfile。这是一个不同的故事,但它仍然适合你!

答案 3 :(得分:0)

node inspector之类的各种工具可以让他们调试这些特定的文件。

在节点检查器上(来自github页面):

  

Node Inspector是Node.js应用程序的调试器接口   使用Blink开发人员工具(以前称为WebKit Web Inspector)。

这个stackoverflow问题有一些很好的答案,具体如何做到这一点: Using node-inspector with Grunt tasks