Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
60 lines (52 sloc) 1.64 KB

JSLint tool

该工具用于淘宝EDP团队提高代码质量之用。编码规范尽管是一些可有可无且琐碎的事情,但是错误也往往是隐藏在细节中的。工具存在的目的仅仅是为了让犯错变得困难一点而已。

  • 检查点可配置
  • 可扫描单个文件,也可以扫描目录

检查点

检查点是可配置的,可以根据各自的项目,在项目的根目录,增加jslint_config.json文件。

默认配置:

{
  "indent": 2,
  "plusplus": true,
  "sloppy": true,
  "eqeqeq": true,
  "maxlen": 120,
  "node": true,
  "nomen": true,
  "vars": true
}
  • 缩进检查: 2空格
  • 空格检查:
    • function前后必须有空格
    • ifswitchfunction后的(前,和)后必须有空格
    • ,后必须有空格
    • 操作符(+-=*/等)前后必须有空格
    • :后必须存在一个空格
  • 120的单行最大长度限制
  • 必须使用 === 做判断
  • 变量必须申明
  • JavaScript的保留字检查:
  • 点操作符检查:
    • 请用obj.attr代替obj["attr"]
  • 分号结尾检查:
    • 变量申明必须用;结尾
    • 单行表达式必须用;结尾
  • 不能混合使用tab和空格来进行缩进
  • ...

用法

node precommit.js [file] //扫描单个文件
node precommit.js [folder] [-r] //扫描目录,加-r决定是否递归扫描目录

NPM

npm install jslint_tool -g
jslint_tool [file]
jslint_tool [folder] [-r]

参考

http://www.jslint.com/