我想jshint两次运行任务GruntJS,但每次都有不同的选项.
我该怎么做呢?
目前,我Gruntfile.js看起来像这样:
'use strict';
module.exports = function(grunt) {
var opts = {
pkg: grunt.file.readJSON('package.json'),
jasmine_node: {
matchall: true,
forceExit: true
},
jshint: {
files: [
'gruntfile.js',
'src/**/*.js', '!src/static/bin', '!src/static/js/libs/*.js',
'test/spec/**/*.js'
],
options: {
jshintrc: '.jshintrc'
}
}
};
grunt.initConfig(opts);
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-jasmine-node');
grunt.registerTask('default', ['jshint', 'jasmine_node']);
grunt.registerTask('travis', ['jshint', 'jasmine_node']);
};
Run Code Online (Sandbox Code Playgroud)
我可能希望它是这样的:
var jshint: {
files: [
'gruntfile.js',
'src/**/*.js', '!src/static/**',
'test/spec/**/*.js'
],
options: {
jshintrc: '.jshintrc'
}
}
var jshint2 = {
files: [
'src/static/**/*.js',
'!src/static/bin',
'!src/static/js/libs/*.js'
],
options: {
jshintrc: '.jshintrc-browser'
}
};
Run Code Online (Sandbox Code Playgroud)
因此我可以为前端javascript和NodeJS javascript选择不同的选项,因为每个环境的linting应该是不同的
jshint是一个多任务.所以有可能必须遵循配置:
jshint: {
browser: {
files: [
'src/static/**/*.js',
'!src/static/bin',
'!src/static/js/libs/*.js'
],
options: {
jshintrc: '.jshintrc-browser'
}
},
node: {
files: [
'gruntfile.js',
'src/**/*.js', '!src/static/**',
'test/spec/**/*.js'
],
options: {
jshintrc: '.jshintrc'
}
}
}
Run Code Online (Sandbox Code Playgroud)
要运行浏览器版本:
grunt jshint:browser.
要运行到节点版本:
grunt jshint:node.
正好跑:
grunt jshint
将同时运行.
当然,您可能希望通过其他任务触发它们,例如:
grunt.registerTask('build', ['clean:all', 'jshint:browser', ...]);
Run Code Online (Sandbox Code Playgroud)
您想要阅读" 指定JSHint选项和全局变量 "一节以获取更多信息.
| 归档时间: |
|
| 查看次数: |
2020 次 |
| 最近记录: |