【问题标题】:How do I lint two sets of files with different JSHint options? (grunt.js)如何使用不同的 JSHint 选项对两组文件进行 lint? (grunt.js)
【发布时间】:2012-11-25 02:23:56
【问题描述】:

我有一些 JavaScript 文件应该在 Node 环境下进行检查,而其他一些 JavaScript 文件应该在浏览器环境下进行检查。如何使用不同的 JSHint 选项对这些文件进行 lint?这是我的出发点:

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

【问题讨论】:

    标签: javascript jshint gruntjs


    【解决方案1】:

    其实很简单:https://github.com/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}
        }
      }
    });
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-19
    • 2016-07-26
    • 2014-05-30
    • 1970-01-01
    • 2021-01-05
    • 2019-07-23
    • 1970-01-01
    相关资源
    最近更新 更多