2012-11-25 9 views
6

Tôi có một số tệp JavaScript nên được tô màu giả sử môi trường Nút và các tệp khác phải được tô màu giả sử môi trường trình duyệt. Làm cách nào để lint các tệp này với các tùy chọn JSHint khác nhau? Dưới đây là điểm khởi đầu của tôi:Làm cách nào để lint hai tập hợp tệp với các tùy chọn JSHint khác nhau? (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"); 
}; 

Trả lời

9

Trên thực tế, nó khá dễ dàng: 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

Liên kết github không còn hoạt động. Tuy nhiên, tài liệu grunt giải thích cách cấu trúc này: http://gruntjs.com/configuring-tasks –