根据 TSLint 官方给出的建议,TypeScript 项目的代码,现在也推荐使用 ESLint 来进行代码规范的检查。
在具体使用的时候,需要在 .eslintrc
中增加如下部分的设置:
{
"parser": "@typescript-eslint/parser",
"plugins": [
"@typescript-eslint"
],
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module",
"project": "./tsconfig.json",
"ecmaFeatures": {
"jsx": true
}
},
}
其中,需要用到 typescript-eslint
这个库来帮助 ESLint 解析代码(GitHub)。
然而,在实际使用 ESLint 来检查 TypeScript 代码的时候,需要额外注意一个细节:
根据这里给出的解释,ESLint 默认情况下并不会检查非 .js
和 .jsx
结尾的文件。也就是说,如果 src
目录下有以下几个文件:src/index.js
,src/app.tsx
,src/utils.ts
,那么在运行命令 eslint src
的时候,只有 src/index.js
会被检查,剩下的两个会直接被忽略。
需要检查 TypeScript 的代码,需要手动在调用 eslint
命令行的时候加上 --ext
参数,如:--ext js,jsx,ts,tsx
。
当然,如果给 ESLint 手动指定需要检查的文件,或是通过 lint-staged
工具在 Git 签入的时候对 TypeScript 文件进行检查,这些情况下都是不需要额外指定 --ext
参数的,ESLint 可以正确处理 TypeScript 的代码。