javascript - How do I lint two sets of files with different JSHint options? (grunt.js) - Stack Overflow

I have some JavaScript files that should be linted assuming a Node environment and others that should b

I have some JavaScript files that should be linted assuming a Node environment and others that should be linted assuming a browser environment. How do I lint these files with different JSHint options? Here's my starting point:

module.exports = function (grunt) {
  grunt.initConfig({
    lint: {
      files: [
        "grunt.js", // Node environment
        "lib/**/*.js", // browser environment
      ],
    },
    jshint: {
      options: {
        browser: true, // define globals exposed by modern browsers?
        es5: true, // code uses ECMAScript 5 features?
        node: false, // define globals in Node runtime?
      },
      globals: {},
    },
  });

  grunt.registerTask("default", "lint");
};

I have some JavaScript files that should be linted assuming a Node environment and others that should be linted assuming a browser environment. How do I lint these files with different JSHint options? Here's my starting point:

module.exports = function (grunt) {
  grunt.initConfig({
    lint: {
      files: [
        "grunt.js", // Node environment
        "lib/**/*.js", // browser environment
      ],
    },
    jshint: {
      options: {
        browser: true, // define globals exposed by modern browsers?
        es5: true, // code uses ECMAScript 5 features?
        node: false, // define globals in Node runtime?
      },
      globals: {},
    },
  });

  grunt.registerTask("default", "lint");
};
Share Improve this question asked Nov 25, 2012 at 2:23 Chris CaloChris Calo 7,8388 gold badges52 silver badges67 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 9

Actually, it's pretty easy: https://github./gruntjs/grunt/blob/master/docs/task_lint.md#per-target-jshint-options-and-globals

// Project configuration.
grunt.initConfig({
  lint: {
    src: 'src/*.js',
    grunt: 'grunt.js',
    tests: 'tests/unit/**/*.js'
  },
  jshint: {
    // Defaults.
    options: {curly: true},
    globals: {},
    // Just for the lint:grunt target.
    grunt: {
      options: {node: true},
      globals: {task: true, config: true, file: true, log: true, template: true}
    },
    // Just for the lint:src target.
    src: {
      options: {browser: true},
      globals: {jQuery: true}
    },
    // Just for the lint:tests target.
    tests: {
      options: {jquery: true},
      globals: {module: true, test: true, ok: true, equal: true, deepEqual: true, QUnit: true}
    }
  }
});

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745086629a4610444.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信