JSLint tool
JavaScript
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md
config.json
jslint.js
package.json
precommit.js

README.md

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/