在 TypeScript 项目中使用 ESLint 和 Prettier 可以帮助你保持代码风格一致,并自动格式化代码。以下是配置和使用 ESLint 和 Prettier 的详细步骤:
1. 安装依赖
首先,安装 ESLint、Prettier 以及相关的插件和配置。
npm install --save-dev eslint prettier @typescript-eslint/parser @typescript-eslint/eslint-plugin eslint-config-prettier eslint-plugin-prettier
2. 配置 ESLint
在项目根目录下创建一个 .eslintrc.json
文件,并配置 ESLint。
示例
{
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 2020,
"sourceType": "module",
"project": "./tsconfig.json"
},
"plugins": ["@typescript-eslint", "prettier"],
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:prettier/recommended"
],
"rules": {
"prettier/prettier": "error",
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/no-explicit-any": "off"
}
}
在这个例子中,parser
指定了使用 @typescript-eslint/parser
来解析 TypeScript 代码,plugins
包含了 @typescript-eslint
和 prettier
插件,extends
包含了推荐的 ESLint 配置和 Prettier 配置,rules
定义了一些自定义规则。
3. 配置 Prettier
在项目根目录下创建一个 .prettierrc.json
文件,并配置 Prettier。
示例
{
"semi": true,
"singleQuote": true,
"trailingComma": "es5",
"printWidth": 80,
"tabWidth": 2
}
在这个例子中,semi
指定了使用分号,singleQuote
指定了使用单引号,trailingComma
指定了在多行结构的最后一项后面添加逗号,printWidth
指定了每行的最大宽度,tabWidth
指定了缩进的空格数。
4. 配置 VS Code
为了在 VS Code 中自动格式化和修复代码,你需要配置 VS Code 的设置。
安装 ESLint 和 Prettier 扩展
在 VS Code 中安装 ESLint 和 Prettier 扩展:
配置 VS Code 设置
在 VS Code 的设置文件(settings.json
)中添加以下配置:
{
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"eslint.enable": true,
"eslint.run": "onSave",
"eslint.options": {
"extensions": [".ts", ".tsx"]
},
"eslint.validate": [
"typescript",
"typescriptreact"
]
}
在这个例子中,editor.defaultFormatter
指定了使用 Prettier 作为默认格式化工具,editor.formatOnSave
启用了保存时自动格式化,eslint.enable
启用了 ESLint,eslint.run
指定了在保存时运行 ESLint,eslint.options
指定了 ESLint 检查的文件扩展名,eslint.validate
指定了 ESLint 检查的语言类型。
5. 使用 ESLint 和 Prettier
配置完成后,你可以在 VS Code 中自动格式化和修复代码。
手动运行 ESLint 和 Prettier
你可以在终端中手动运行 ESLint 和 Prettier:
npx eslint src/**/*.ts --fix
npx prettier --write src/**/*.ts
自动格式化和修复
在 VS Code 中保存文件时,ESLint 和 Prettier 会自动格式化和修复代码。
6. 配置 package.json
脚本
为了方便使用,你可以在 package.json
中添加一些脚本来运行 ESLint 和 Prettier。
示例
{
"scripts": {
"lint": "eslint src/**/*.ts --fix",
"format": "prettier --write src/**/*.ts"
}
}
然后,你可以使用以下命令来运行 ESLint 和 Prettier:
npm run lint
npm run format
总结
在 TypeScript 项目中使用 ESLint 和 Prettier 可以帮助你保持代码风格一致,并自动格式化代码。通过配置 .eslintrc.json
、.prettierrc.json
、VS Code 设置以及 package.json
脚本,你可以轻松地集成和使用 ESLint 和 Prettier。理解这些配置和使用方法,可以帮助你编写出更整洁和一致的代码。