【问题标题】:How to debug Gruntfile.js with log statements?如何使用日志语句调试 Gruntfile.js?
【发布时间】:2013-10-01 08:19:26
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    有多种工具,例如 node inspector,可以让您调试这些特定文件。

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

    Node Inspector 是用于 Node.js 应用程序的调试器接口,可用于 使用 Blink Developer Tools(以前称为 WebKit Web Inspector)。

    这个 stackoverflow 问题有一些关于如何具体执行此操作的很好的答案: Using node-inspector with Grunt tasks

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        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'));
        }
        

        【讨论】:

          【解决方案4】:

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

          由于其他人的工作,有一种解决方法,例如: https://github.com/ethanl/connect-browser-logger

          这基本上会将这些服务器端日志提升到客户端以供您查看。如果您使用 Google 搜索,您会发现许多其他解决方案(有些能够设置断点、逐步执行代码等)。

          不破旧!

          编辑:天哪,我刚刚意识到您希望将日志记录专门IN 您的 gruntfile。这是一个不同的故事,但它仍然应该适合你!

          【讨论】:

            猜你喜欢
            • 2016-04-08
            • 2013-04-08
            • 2016-12-16
            • 2017-01-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-11-19
            • 2016-06-07
            相关资源
            最近更新 更多