Grunt"参考错误"和"未找到任务"

时间:2016-08-30 15:32:36

标签: javascript node.js gruntjs

我实际上使用qunit配置grunt以使用jenkins运行单元测试(遵循本教程:http://shashikantjagtap.net/javascript-continuous-integration-jenkins-qunit-grunt/)但实际上我被此错误阻止了:

  
    

ReferenceError:未定义gruntConfig     警告:任务" qunit_junit"未找到。使用--force继续。

  

因警告而中止。

我的devDependencies:

module.exports = function (grunt) {
    grunt.registerTask('default', ['qunit_junit', 'qunit']);
    grunt.loadNpmTasks('grunt-contrib-qunit');
    grunt.loadNpmTasks('grunt-qunit-istanbul');
    gruntConfig.qunit = {
    src: ['static/test/index.html'],
    options: {
        coverage: {
        src: ['static/js/**/*.js'],
        instrumentedFiles: 'temp/',
        htmlReport: 'report/coverage',
        coberturaReport: 'report/',
        linesThresholdPct: 20
        }
    }
    };
    grunt.loadNpmTasks('grunt-qunit-junit');
    gruntConfig.qunit_junit = {
    options: {
        dest: 'report/'
    }
    };
}

和我的Gruntfile.js:

#define _GNU_SOURCE
#include <sys/ptrace.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/wait.h>

int main(int argc, char *argv[]) {
  if (argc == 1) return 1;
  pid_t pid = atoi(argv[1]);
  if (ptrace(PTRACE_SEIZE, pid, NULL, NULL) == -1) return 1;
  siginfo_t sig;
  return waitid(P_PID, pid, &sig, WEXITED|WNOWAIT);
}

任何人遇到此错误或想知道如何修复它?

2 个答案:

答案 0 :(得分:1)

查看示例Gruntfile:

module.exports = function(grunt) {

  grunt.initConfig({
    jshint: {
      files: ['Gruntfile.js', 'src/**/*.js', 'test/**/*.js'],
      options: {
        globals: {
          jQuery: true
        }
      }
    },
    watch: {
      files: ['<%= jshint.files %>'],
      tasks: ['jshint']
    }
  });

  grunt.loadNpmTasks('grunt-contrib-jshint');
  grunt.loadNpmTasks('grunt-contrib-watch');

  grunt.registerTask('default', ['jshint']);

};
  1. 配置任务
  2. 加载任务
  3. 注册任务

答案 1 :(得分:1)

ReferenceError中所述:您尚未定义gruntConfig对象。添加var gruntConfig = {};以定义对象。

module.exports = function (grunt) {
   grunt.registerTask('default', ['qunit_junit', 'qunit']);
   grunt.loadNpmTasks('grunt-contrib-qunit');
   grunt.loadNpmTasks('grunt-qunit-istanbul');

   //Add the below line to defined the object.
   var gruntConfig = {};
   gruntConfig.qunit = { ... }

   //code ...
}