news 2026/8/22 12:24:35

.eslintrc.js这个文件作用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
.eslintrc.js这个文件作用

.eslintrc.jsESLint的核心配置文件之一,用于定义 JavaScript/TypeScript 等代码的代码检查规则、解析器、插件、环境等配置,是前端工程中实现代码规范化、统一编码风格的关键文件。

一、ESLint 是什么?

ESLint 是一个开源的静态代码分析工具,主要用于检测 JavaScript(及 TypeScript、JSX 等扩展语法)代码中的语法错误、潜在 Bug、不规范的编码风格(如缩进、变量命名、分号使用),并给出可修复的提示,目的是:

  1. 减少代码 Bug,提升代码质量;
  2. 统一团队编码风格,降低协作成本;
  3. 提前发现语法问题,避免运行时错误。

.eslintrc.js就是用来配置 ESLint 如何工作的文件。

二、.eslintrc.js的作用

它通过 JavaScript 模块的形式导出配置对象,告诉 ESLint:

  1. 要检查哪些文件(或忽略哪些文件);
  2. 使用哪些规则(如是否强制使用分号、是否允许未定义的变量);
  3. 代码运行的环境(如浏览器、Node.js、React/Vue 框架环境);
  4. 使用哪个解析器(如解析 ES6+ 的@babel/eslint-parser、解析 TypeScript 的@typescript-eslint/parser);
  5. 启用哪些插件(如 React 检查插件eslint-plugin-react、Vue 检查插件eslint-plugin-vue)。

三、.eslintrc.js的核心配置项

以下是一个典型的.eslintrc.js配置示例,结合常见配置项说明:

javascript

运行

module.exports = { // 1. 环境:指定代码运行的环境,每个环境会预设对应的全局变量 env: { browser: true, // 浏览器环境(如 window、document) node: true, // Node.js 环境(如 require、module) es2021: true // ES2021 语法环境 }, // 2. 解析器:指定 ESLint 用什么解析器处理代码 parser: '@typescript-eslint/parser', // 解析 TypeScript 代码 // 解析器选项:配置解析器的行为 parserOptions: { ecmaVersion: 'latest', // 支持的 ES 版本 sourceType: 'module', // 代码是 ES 模块(使用 import/export) ecmaFeatures: { jsx: true // 支持 JSX 语法(React 项目) } }, // 3. 插件:引入第三方插件,扩展 ESLint 的检查规则 plugins: ['@typescript-eslint', 'react'], // 4. 规则:核心配置,指定启用/禁用哪些规则,以及规则的严重程度 rules: { // 规则格式:"规则名": [严重程度, 规则选项] // 严重程度:0(off,禁用)、1(warn,警告)、2(error,错误,会导致检查失败) 'no-undef': 2, // 禁止使用未定义的变量(错误级别) 'semi': [2, 'always'], // 强制语句末尾加分号(错误级别) 'quotes': [2, 'single'], // 强制使用单引号(错误级别) '@typescript-eslint/no-unused-vars': 1, // TS 未使用变量警告 'react/react-in-jsx-scope': 0 // 禁用 React 必须在 JSX 作用域的规则(React 17+ 无需) }, // 5. 继承:继承已有的配置集(如官方推荐规则、插件预设规则) extends: [ 'eslint:recommended', // ESLint 官方推荐的核心规则 'plugin:@typescript-eslint/recommended', // TS 插件的推荐规则 'plugin:react/recommended' // React 插件的推荐规则 ], // 6. 全局变量:声明额外的全局变量,避免被检测为未定义 globals: { React: 'readonly', Vue: 'readonly' } };

四、为什么用.eslintrc.js而不是其他格式?

ESLint 支持多种配置文件格式,各有特点:

格式特点适用场景
.eslintrc.js支持 JS 逻辑、注释、动态配置大多数项目(灵活度最高)
.eslintrc.json纯 JSON 格式,简洁简单项目(无动态配置需求)
.eslintrc.ymlYAML 格式,语法简洁习惯 YAML 的团队
package.jsoneslintConfig字段中配置不想新增文件的小型项目

.eslintrc.js是最常用的格式,因为它支持条件判断、引入外部变量等动态配置,比如根据环境(开发 / 生产)调整规则。

五、配套文件

  1. .eslintignore:指定 ESLint 忽略检查的文件 / 目录(如node_modules/dist/),类似.gitignore
  2. package.json中的脚本:通常会配置lint脚本,方便运行检查:

    json

    { "scripts": { "lint": "eslint src/**/*.{js,ts,jsx}", "lint:fix": "eslint src/**/*.{js,ts,jsx} --fix" // 自动修复可修复的问题 } }

六、总结

.eslintrc.js的核心作用是定制 ESLint 的检查规则和行为,让团队代码符合统一的规范,减少错误和维护成本。它是前端工程化中代码质量管控的重要一环,几乎所有现代前端项目(React、Vue、Node.js)都会用到。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 20:21:16

Langchain-Chatchat支持RESTful API调用方式说明

Langchain-Chatchat 支持 RESTful API 调用方式深度解析 在企业智能化转型的浪潮中,如何让大模型真正“懂”自家业务,成了摆在技术团队面前的一道难题。通用语言模型虽然知识广博,但面对内部制度、产品手册或客户合同这类私有信息时&#xff…

作者头像 李华
网站建设 2026/8/21 23:38:41

python接口自动化 —— 发送get请求接口(详解)

简介 如果想用python做接口测试,我们首先有不得不了解和学习的模块。它就是第三方模块:Requests。 虽然Python内置的urllib模块,用于访问网络资源。但是,它用起来比较麻烦,而且,缺少很多实用的高级功能。更…

作者头像 李华
网站建设 2026/8/22 3:12:42

FaceFusion人脸融合在虚拟保险公司代理人中的服务升级

FaceFusion人脸融合在虚拟保险公司代理人中的服务升级 在当今保险行业,客户早已不再满足于冷冰冰的自动化语音应答或机械滚动的文字客服。他们期待的是专业、亲切、能“看见”的服务体验——一个既懂保险条款又能微笑安慰的顾问。然而,真人客服成本高、覆…

作者头像 李华
网站建设 2026/8/22 0:41:01

企业级MVC模式红色革命文物征集管理系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】

💡实话实说:用最专业的技术、最实惠的价格、最真诚的态度服务大家。无论最终合作与否,咱们都是朋友,能帮的地方我绝不含糊。买卖不成仁义在,这就是我的做人原则。摘要 革命文物是传承红色基因、弘扬革命精神的重要载体…

作者头像 李华
网站建设 2026/8/21 23:44:01

25年12月19日复盘总结,大盘方向,操作建议,板块机会,实用干货

25年12月19日复盘总结,大盘方向,操作建议,板块机会,实用干货大盘指数有点反转的意思了,新的主线似乎已经出来了。不过这波调整够恶心的,指数跌100多点,前段时间个股操作难度很大。周k已连续4周站…

作者头像 李华