代码检查 eslint & tslint
目前 TypeScript 的代码检查主要有两个方案:使用 TSLint或使用 ESLint+ typescript-eslint-parser
代码规范
如果你写自己的项目怎么折腾都没关系,但是在公司中老板希望每个人写出的代码都要符合一个统一的规则,这样别人看源码就能够看得懂,因为源码是符合统一的编码规范制定的。
那么问题来了,总不能每个人写的代码老板都要一行行代码去检查吧,这是一件很蠢的事情。凡是重复性的工作,都应该被制作成工具来节约成本。这个工具应该做两件事情:
- 提供编码规范;
- 提供自动检验代码的程序,并打印检验结果:告诉你哪一个文件哪一行代码不符合哪一条编码规范,方便你去修改代码。
Lint 因此而诞生。
使用 Eslint
确保 node npm 环境下
安装 npm 包
$ npm install eslint --save-dev
package.json
添加script
"scripts": { "test": "react-scripts test --env=jsdom", "lint": "eslint src", // 让 Lint 自动检验 src 目录下所有的 .js 文件 "lint:create": "eslint --init" }
创建
.eslintrc.js/json
和.eslintignore
文件;或通过eslint --init
命令初始化,在 eslint 规则表编译器工具配置: webstorm 配置, vscode 配置
示例:
{
"root": true,
"parserOptions": {
"parser": "babel-eslint",
"ecmaVersion": 6,
"sourceType": "module"
},
"env": {
"browser": true,
"commonjs": true,
"es6": true,
"node": true
},
"extends": ["eslint:recommended", "google", "plugin:vue/recommended"],
"plugins": ["vue"],
"rules": {
"comma-dangle": ["error", "never"],
"quote-props": ["error", "as-needed"],
"max-len": [0],
"vue/max-attributes-per-line": [
"error",
{
"singleline": 3,
"multiline": {
"max": 1,
"allowFirstLine": true
}
}
],
"valid-jsdoc": [0],
"linebreak-style": [0]
}
}
eslint-loader ,用于 webpack 配置 preLoaders
结合 pre-commit,用于 git hooks,教程
…to do loading