一、在需要安装的项目目录中安装

通过命令行:
npm install grunt-contrib-jshint --save-dev

二、配置项(options)

globals :
Type : object
Default:null
定义了全局变量的字典,key就是全局变量名,布尔类型的值来表示是否可以赋值,这不是 JSHint 的标准选项,但是会作为第三个参数传递给 JSHint。
如果要用jquery,则在此配置项中加入变量key如下代码:

options: {globals: { $: false, jQuery:false } }

定义了全局变量后就可以使用jquery了
jshintrc:
Type: String or true
Default: null
如果设置为 true,这里的配置参数不会传递给 JSHint,JSHint 将会通过 .jshintrc 文件来获取参数。
如果设置了文件名,将会通过这个文件获取配置参数. 这个 jshintrc 文件必须是一个合法的 JSON 文件,类似这样。
需要注意的是 :
jshintrc 文件的配置信息不会与 gruntfile.js 中的配置进行合并。
extentions :
Type: String
Default: ' '
需要检查的非 dot-js 扩展名列表
ignores :
Type: Array
Default: null
需要忽略的文件和目录列表. 将会覆盖 .jshintignore 文件。
force :
Type: Boolean
Default: false
设置为 true 将会报告 JSHint 错误,而不会将任务失败掉。
reporter:
Type: String
Default: null
允许修改输出插件,默认使用 Grunt 内置的报告器. 可以配置为自定义的报告器路径,或者 JSHint 内置的报告器之一: jslint 或者 checkstyle。
See also: Writing your own JSHint reporter. 可以指定一个外部的报告器,例如: jshint-stylish: 首先通过 npm 进行安装。
$ npm install --save-dev jshint-stylish
然后进行配置

options: {reporter: require('jshint-stylish') }

reporterOutput:
Type: String
Default: null
配置报告的输出路径. 如果配置,输出将不会输出到标准输出流,而是这个设置的路径。
wildcards :
下面的这个例子,执行 grunt jshint:all ( 由于 jshint 是一个多任务的任务,可以直接使用 grunt jshint,  ) 将会使用默认的 JSHint 配置。检查 Gruntfile.js,lib 下面的任何 js 文件,test 下面的任何 js 文件

grunt.initConfig({jshint: { all: ['Gruntfile.js', 'lib/**/*.js', 'test/**/*.js'] } });

Linting before and after concatenating :
下面的这个例子中,执行 grunt jshint 将会检查 'beforeconcat' 和 'afterconcat' 的所有文件,这并不理想,因为 dist/output.js 会在 grunt-contrib-concat plugin 的 concat 任务创建它之前被检查。
在这种情况下,应该先检查 'beforeconcat' 中的文件, 然后合并文件,最后再检查 'afterconcat' 中的文件,这样执行:grunt jshint:beforeconcat concat jshint:afterconcat.

grunt.initConfig({concat: { dist: { src: ['src/foo.js', 'src/bar.js'], dest: 'dist/output.js' } }, jshint: { beforeconcat: ['src/foo.js', 'src/bar.js'], afterconcat: ['dist/output.js'] } });

Specifying JSHint options and globals : 这个例子演示了定制 JSHint 的配置. 注意在 grunt jshint:uses_defaults 执行的时候,将会使用默认的配置, 但是当 grunt jshint:with_overrides 执行的时候,将使用合并之后的配置。

grunt.initConfig({jshint: { options: { curly: true, eqeqeq: true, eqnull: true, browser: true, globals: { jQuery: true }, }, uses_defaults: ['dir1/**/*.js', 'dir2/**/*.js'], with_overrides: { options: { curly: false, undef: true, }, files: { src: ['dir3/**/*.js', 'dir4/**/*.js'] }, } }, });

Ignoring specific warnings : 如果希望忽略特定的警告:

[L24:C9] W015: Expected '}' to have an indentation at 11 instead at 9.

可以通过在警告标识之前加上减号 (-) 来关掉它。

grunt.initConfig({jshint: { ignore_warning: { options: { '-W015': true, }, src: ['**/*.js'], }, }, });

转载于:https://www.cnblogs.com/liuyangdiv/p/6425811.html

GRUNT----JSHINT相关推荐

  1. grunt 打包前端代码

    [grunt整合版]30分钟学会使用grunt打包前端代码 grunt 是一套前端自动化工具,一个基于nodeJs的命令行工具,一般用于: ① 压缩文件 ② 合并文件 ③ 简单语法检查 对于其他用法, ...

  2. 【grunt整合版】30分钟学会使用grunt打包前端代码

    grunt 是一套前端自动化工具,一个基于nodeJs的命令行工具,一般用于: ① 压缩文件 ② 合并文件 ③ 简单语法检查 对于其他用法,我还不太清楚,我们这里简单介绍下grunt的压缩.合并文件, ...

  3. (绝对官方好用,快速上手)针对grunt之前写的那篇有些乱,这次总结个清晰的...

    安装 Grunt基于Node.js,安装之前要先安装Node.js,然后运行下面的命令. sudo npm install grunt-cli -g grunt-cli表示安装的是grunt的命令行界 ...

  4. 使用Grunt和GulpJavaScript工作流自动化

    当您不熟悉前端开发并开始精通HTML5,CSS和JavaScript时,显而易见的下一步就是动手使用工具 大多数开发人员用来在这个复杂的空间中保持理智. 通过使用Less编写CSS工作表时,您也应该具 ...

  5. JSLint突然报告:使用“使用严格”功能形式

    我包括以下声明: "use strict"; 在我大多数Javascript文件的开头. JSLint从未对此发出警告. 但现在是这样说: 使用"使用严格"的功 ...

  6. AngularJS介绍

    AngularJS介绍–AngularJS的前世今生 AngularJS是什么 在Web开发领域,我们一般使用HTML作为前端页面元素的声明式语言,使用CSS技术作为展示样式的描述语言,JavaScr ...

  7. AngularJS实战第一章

    AngularJS实战 作者:kimmking.大漠穷秋.任富飞 问题反馈:kimmking@163.com 快速上手 AngularJS介绍-AngularJS的前世今生 AngularJS核心特性 ...

  8. 前端自动化工具 grunt 插件 uglify 的简单使用(一)

    Grunt 的简介: Grunt 是一套前端自动化工具,是一个基于 node.js 的命令行工具,它一般用于: 1.压缩文件: 2.合并文件: 3.简单的语法检测: 4.监听文件变动: 5.less ...

  9. Grunt的配置和使用

    Grunt和Grunt插件是通过NodeJs的包管理工具npm安装并进行管理的. Grunt 0.4.x必须配合NodeJs=>0.8.0版本使用(奇数版本的NodeJs不是稳定的开发版本)   ...

最新文章

  1. head部分关于搜索引擎
  2. 05-VTK在图像处理中的应用(2)
  3. 设计模式学习笔记(二十二:备忘录模式)
  4. elasticsearch2.3安装以及集群部署
  5. 在SAP中如何创建权限和权限的设置
  6. 更改SYS密码,expiry_date 过期时间 没有更新,普通用户更改密码会更新
  7. 机器学习-算法背后的理论与优化(part4)--结构风险最小(上)
  8. jQuery 入口函数主要有4种写法
  9. Bmp格式与编程读取解析
  10. a12处理器和骁龙855_【性能】骁龙855最新跑分曝光 多核竟超苹果A12?
  11. axios php文件登录,JWT实战:使用axios+PHP实现登录认证
  12. 《Objective-C开发经典教程》
  13. Google AI “作恶”,4000 员工抗议,十余人失望辞职!
  14. 优科无线并购Wi-Fi入网软件提供商Cloudpath Networks
  15. 小程序input聚焦事件_详解小程序input框失焦事件在提交事件前的处理
  16. Pod进程内存缓存分析
  17. 执念与释然,一念之间
  18. Vscode Remote SSH 远程连接失败过程报错:试图写入的管道不存在
  19. git从远程仓库拉取指定日期版本的代码到本地
  20. uni-app下载图片到系统相册

热门文章

  1. liferay6.2导出excel
  2. 这样准备面试,薪资比预期至少多拿20%!
  3. 郑州大学软件学院 大学生创新创业选拔赛章程
  4. 火山小视频尼尔森:2019新线消费市场人群洞察报告(附下载)
  5. web安全攻防从入门到放弃-记录
  6. 学习《apache源代码全景分析》之网络连接部分摘录
  7. 【搜索引擎基础知识1】搜索引擎的技术架构
  8. dojo中的dojo/dom-class
  9. “堆外内存泄漏”排查及经验总结
  10. HBase - Filter - 过滤器的介绍以及使用