Skip to main content

入门


快速入门

这些步骤将使你尽快在 TypeScript 代码上运行符合我们推荐规则的 ESLint。

英:These steps will get you running ESLint with our recommended rules on your TypeScript code as quickly as possible.

第 1 步:安装

首先,安装 ESLintTypeScript 所需的软件包以及此插件:

英:First, install the required packages for ESLint, TypeScript, and this plugin:

npm install --save-dev @typescript-eslint/parser @typescript-eslint/eslint-plugin eslint typescript

第 2 步:配置

接下来,在项目的根目录中创建一个 .eslintrc.cjs 配置文件,并使用以下内容填充它:

英:Next, create a .eslintrc.cjs config file in the root of your project, and populate it with the following:

.eslintrc.cjs
/* eslint-env node */
module.exports = {
extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'],
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint'],
root: true,
};
信息

如果你的项目不使用 ESM,则将文件命名为 .eslintrc.js 即可。 请参阅 ESLint 的配置文件文档 了解更多信息。

第 3 步:运行 ESLint

打开项目根目录的终端并运行以下命令:

英:Open a terminal to the root of your project and run the following command:

npx eslint .

ESLint 将检查当前文件夹中的所有 TypeScript 兼容文件,并将结果输出到你的终端。

英:ESLint will lint all TypeScript compatible files within the current folder, and will output the results to your terminal.

详情

  • parser: '@typescript-eslint/parser' 告诉 ESLint 使用你安装的 @typescript-eslint/parser 包来解析源文件。
    • 这是必需的,否则 ESLint 在尝试像常规 JavaScript 一样解析 TypeScript 代码时会抛出错误。
  • plugins: ['@typescript-eslint'] 告诉 ESLint 将 @typescript-eslint/eslint-plugin 包作为插件加载。
    • 这允许你在代码库中使用 typescript-eslint 的规则。
  • extends: [ ... ] 告诉 ESLint 你的配置扩展了给定的配置。
    • eslint:recommended 是 ESLint 的内置 "推荐" 配置 - 它打开了一组小的、合理的规则,这些规则用于检查众所周知的最佳实践。
    • plugin:@typescript-eslint/recommended 是我们的 "推荐" 配置 - 它与 eslint:recommended 类似,只不过它从我们的插件中打开特定于 TypeScript 的规则。
  • root: true 是一种普遍良好的 ESLint 实践,表明该文件是项目使用的根级别文件,并且 ESLint 不应在该目录之外搜索配置文件。

下一步

我们提供了大量强大的规则,利用 TypeScript 类型信息的力量。 请访问下一页以获取设置指南

英:We provide a plethora of powerful rules that utilize the power of TypeScript's type information. Visit the next page for a setup guide.

如果你在使用此功能时遇到问题,请查看我们的 故障排除和常见问题解答

英:If you're having problems getting this working, please have a look at our Troubleshooting & FAQs.

文档资源