2012-11-25 3 views
6

나는 브라우저 환경을 가정하고 linted 해야하는 다른 노드 환경을 가정하고 linted해야 몇 가지 JavaScript 파일이 있습니다. 다른 JSHint 옵션으로이 파일들을 어떻게 채울 수 있습니까? 여기 내 출발점은 없다 :JSHint 옵션이 다른 두 세트의 파일을 어떻게 채울 수 있습니까? (grunt.js)

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

답변

9

사실, 꽤 쉽게 : 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} 
    } 
    } 
}); 
+0

GitHub의 링크가 더 이상 작동합니다. 그러나, grunt 문서는 이것을 구조화하는 방법을 설명합니다 : http://gruntjs.com/configuring-tasks –