首页
学习
活动
专区
圈层
工具
发布

在老项目中集成Eslint【02】

, "jsx"], //需要检测的语言 "emmet.syntaxProfiles": { "vue-html": "html", "vue": "html" },...语法的校验, 并防止一些文件路径拼错或者是导入名称错误的情况 eslint-plugin-jsx-a11y: 该依赖包专注于检查JSX元素的可访问性。...这样当Prettier格式化代码的时候,依然能够遵循我们的Eslint规则。如果你禁用掉了所有和代码格式化相关的Eslint规则的话,该插件可以更好得工作。...所以你可以使用eslint-config-prettier禁用掉所有的格式化相关的规则(如果其他有效的Eslint规则与prettier在代码如何格式化的问题上不一致的时候,报错是在所难免的了) @typescript-eslint...这样每条规则执行的时候都可以访问这里面定义的数据 配套优化流程及工程化集成 husky: git工作流hook配置. lint-staged: 可以定制在特定的git的钩子函数,在特定阶段执行一些lint

1.7K30

Eslint该如何配置?Eslint使用以及相关配置说明

’); // 在整个文件中取消eslint检查: /* eslint-disable */ alert(‘foo’); // 在整个文件中禁用某一项eslint规则的检查: /* eslint-disable...no-alert */ alert(‘foo’); // 在整个文件中禁用多项eslint规则的检查: /* eslint-disable no-alert, no-console */ alert...mode (如果 ecmaVersion 是 5 或更高) jsx - 启用 JSX(支持 JSX 语法并不等同于支持 React。...React 对 ESLint 无法识别的JSX语法应用特定的语义。如果你正在使用 React 并且想要 React 语义支持,需使用 eslint-plugin-react。)...在 ESLint 中,插件可以暴露额外的规则以供使用。为此,插件必须输出一个 rules对象,包含规则 ID 和对应规则的一个键值对。

4.7K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ESLint 使用入门 - 来自推酷

    然而,最近使用 React JSX 语法时,却遇到了问题:JSHint 不支持 JSX 语法。...ESLint 主要有以下特点: 默认规则包含所有 JSLint、JSHint 中存在的规则,易迁移; 规则可配置性高:可设置「警告」、「错误」两个 error 等级,或者直接禁用; 包含代码风格检测的规则...自定义规则 显然,ESLint 内置的规则不可能包罗所有需求。可以通过插件实现自定义规则,这是 ESLint 最有卖点的功能。..." ] } 接下来开启 ESLint JSX 支持(ESLint 内置选项): { "ecmaFeatures": { "jsx": true } } 然后就可以配置插件提供的规则了...: { "rules": { "react/display-name": 1, "react/jsx-boolean-value": 1 } } 自定义规则都是以插件名称为命名空间的

    1.5K50

    关于eslint

    ,写入 json 配置 image.png 禁用其他代码格式插件 此时,eslint 的vscode 配置好了,同时也要注意,如果你的 vscode 安装了自动辅助代码格式的插件,请在项目的工作区禁用。...每一个规则都是一个插件并且你可以在运行时添加更多的规则 内置规则和自定义规则共用一套规则 API。 内置的格式化方法和自定义的格式化方法共用一套格式化 API。...ESLint规则 Possible Errors (JavaScript 代码中可能的错误或逻辑错误) 规则 解释 no-console 禁用 console no-await-in-loop...强制数组方括号中使用一致的空格 array-element-newline 强制数组元素间出现换行 block-spacing 禁止或强制在代码块中开括号前和闭括号后有空格 brace-style...禁用不必要的构造函数 no-useless-ren 要求使用 let 或 const 而不是 var object-shorthand 要求或禁止对象字面量中方法和属性使用简写语法 prefer-arrow-callback

    3.7K20

    eslint 从0到1

    简介 ESlint 可组装的javaScript和JSX检查工具, 提供一个插件化的javascript代码检测工具。 背景 平常开发中,难免出现笔误,书写不规范,多人开发代码风格迥异等问题。...基础配置项 env 指定包或项目的运行环境 针对不同的允许环境,存在不同的全局变量, 例如 浏览器中的 window, node 中的 process.env 等。...} }, } rules 校验规则 通过为规则设置不同的等级或值,控制我们需要校验的语法或代码格式。...新增 ts 的语法校验规则 "plugins": [ "@typescript-eslint" ], 进阶配置项 parser 指定解析器 如何解析js代码 { "parser": "...这里可以使用规则注释 /* eslint-disable */ 忽略当前文件, 既不对该文件做 /* eslint-disable no-alert, no-console */ 禁用指定规则

    2.1K20

    别再用 ESLint 格式化你的代码了!原理揭秘。

    ESLint 将执行代码解析成规则可以理解的形式、将代码传递给这些规则,并让你知道任何由这些规则发出的报告。 ESLint 具有高度可扩展性:这意味着你可以自定义其运行的许多方面。...最常见的自定义方式有: 解析器:替换 ESLint 内置的 JavaScript 解析器,以支持读取与原生 JavaScript 语法不同的代码 插件:提供一组可配置的规则 共享配置:为任何数量的规则提供配置选项...仅禁用之前配置中的格式化规则 "prettier" ] } 通过从eslint-config-prettier最后扩展,项目可以在不运行 ESLint 中的格式化规则的情况下获得那些流行共享配置的好处..."或"plugin:@typescript-eslint/recommended-type-checked",用于推荐的 TypeScript 规则 任何框架或库特定的插件,如eslint-plugin-jsx-a11y...的"plugin:jsx-a11y/recommended" 如果你不使用一个启用格式化规则的遗留 ESLint 共享配置,你很可能不需要eslint-config-prettier。

    1.9K10

    使用这些配置规范并格式化你的代码

    使用 editor.codeActionsOnSave 的时候,我们需要禁用其它格式化程序,最好的做法是将 ESlint 设置为格式化程序默认值。...// 启用对 es6 的语法和全局变量的支持 { env: { es6: true, }, } 如果我们想让 ESLint 不仅能识别浏览器环境中的语法,其它环境(https://cn.eslint.org...当访问当前源文件内未定义的变量时,no-undef 规则将发出警告。如果你想在一个源文件里使用全局变量,推荐你在 ESLint 中定义这些全局变量,这样 ESLint 就不会发出警告了。...如果我们是之前的转化版本,我们要获得对 JSX 的语法支持,我们需要安装 eslint-plugin-react,它内置了对 JSX 的代码规范检测。...{ extends: ['plugin:react/recommended'], } 如果不想使用内置的规则,我们也可以自定义规则 { plugins: ['react'], parserOptions

    3.1K30

    前端项目里都有啥?

    用于配置 React 项目的 Ts 编译选项,包括目标版本、模块解析方式、JSX 语法支持等。...可以通过npx oxlint@latest --rules来进行rules的查看 它融合了很多校验规则eslint/jsx/react/import/jest/unicorn[7](轻量级多体系结构 CPU...' } jsxBracketSameLine: false, // 在多行JSX元素的最后一行追加 > arrowParens: 'always', // 箭头函数,单个参数添加括号...自定义Hook ❝不要重复做那些无关紧要的事情 ❞ 就像上面说的那样,现在是Hook的天下。我们可以基于React内置Hook[37]做排列组合,形成符合我们特定业务逻辑的自定义Hook。...在之前美丽的公主和它的27个React 自定义 Hook中,我们介绍了在项目开发中比较常用的自定义hook。并且,在我们的f_cli中也有此项的配置。

    1.1K10

    ESLint静态代码检查

    Globals:执行代码时脚步需要访问的额外全局变量。 Rules:开启某些规则,也可以设置规则的等级。 检测规则 接下来,可以在配置文件中设置一些规则。...“error” 或者 2:打开规则,并且作为一个错误(exit code将会是1)。 例如,下面的一些配置规则: "no-console":"off" 禁用 console。..."key-spacing": ["error", { "beforeColon": false, "afterColon": true }] 该规则规定了在对象字面量语法中,key和value之间的空白...文件里面的scripts里面新增一条命令: "lint": "eslint --ext .js --ext .jsx --ext .vue src/" 在上面的脚本命令中,ext后面需要写上指定检测文件的后缀...babel处理的这种语法可能对ESLint不是特别的支持,然后我们使用loader处理ESLint的时候就会出现一些问题。

    2.7K20

    Vue3学习笔记(八)—— Vite、ESLint

    这意味着您可以关闭每个规则,只能使用基本语法验证,或者混合并匹配捆绑的规则和自定义规则,使 eslint 完美的适用于当前项目。...目标:能够知道 ESLint 常见的 语法规则 ,并在实际开发中遵守这些规则 官方概念:ESLint 是可组装的 JavaScript 和 JSX 检查工具。...要禁用整个文件中的规则警告,在文件的顶部写入 /* eslint-disable */ 块注释: /* eslint-disable */ alert('foo'); 你还可以在整个文件范围内禁用或启用特定规则..."off" */ alert('foo'); (3)、禁用特定行规则 要禁用某一特定行的所有规则,请使用以下格式之一的行或块注释: alert('foo'); // eslint-disable-line...然而,ESLint 仍然解析整个文件,所以禁用的代码仍然需要是语法上有效的 JavaScript。 使用配置文件 要在配置文件中禁用一组文件的规则,请使用 overrides 键和 files 键。

    15.1K10

    从 0 搭建 Vite 3 + Vue 3 前端工程化项目

    改变了以往样式穿透的语法,如果继续使用 ::v-deep、/deep/、>>> 等语法的话,会出现一个警告,下面是新的语法: /* 深度选择器 */ :deep(selector) { /* ......': 0, // 禁止对 function 的参数进行重新赋值 'no-param-reassign': 0, // 禁用特定的语法 'no-restricted-syntax...: 'lf', // 格式化嵌入的内容 embeddedLanguageFormatting: 'auto', // html, vue, jsx 中每个属性占一行 singleAttributePerLine...eslint-plugin-prettier 将 Prettier 的规则设置到 ESLint 的规则中 eslint-config-prettier 关闭 ESLint 中与 Prettier 中会发生冲突的规则...修改 ESLint 配置文件 修改 .eslintrc.js 文件,在 extends 中添加 plugin:prettier/recommended 规则(此规则一定要加在最后)。

    4.6K10

    【Vue工程】002-配置 eslnt 与 prettier

    它的主要特点是 可扩展性好:ESLint 支持 JavaScript 和 JSX,可以通过插件扩展到额外的语法(如 Vue)。...可配置性高:通过 .eslintrc 文件配置检查规则,可以灵活定制检查内容。 基于 AST 检查:ESLint 不仅检查语法错误,还会基于 AST 检查潜在的问题,如未使用的变量。...自动修复:ESLint 能自动修复一些问题,大大提高开发效率。 丰富的规则:ESLint 内置了200+条规则,涵盖了编码风格、潜在问题等方方面面。...使用 ESLint 的主要步骤是 安装:通过 npm 安装 ESLint 。 配置:创建 .eslintrc.js 配置文件,启用想要的规则。...antfu", "rules": { // 禁用"eslint-comments/no-unlimited-disable"规则,此规则用于限制禁用某些ESLint规则的注释 "eslint-comments

    1.2K01

    vscode 前端常用插件推荐「建议收藏」

    当你不需要某个插件时只需要进入扩展,点击对应插件右下角的齿轮按钮即可选择禁用或卸载该插件。 2....Chrome (推荐)   映射vscode上的断点到chrome上,方便调试 调试方法戳这 6.ESLint (推荐)   js语法纠错,可以自定义配置,不过配置较为复杂,建议使用网上一些广泛使用的....js,还支持.ts,.jsx,.tsx,.html,.vue,省去了配置其支持各种包含js代码文件的时间 11.jQuery Code Snippets (推荐)   jQuery代码智能提示...html,而该插件支持快捷键与鼠标右键快速在浏览器中打开html文件,支持自定义打开指定的浏览器,包括:Firefox,Chrome,Opera,IE以及Safari 设置默认浏览器 16.Path...20.HTMLHint(了解)    静态检查规则 具体规则戳这 21.

    2.9K10

    Webpack系列——手把手教你使用Webpack搭建简易的React开发环境

    ,原因是eslint默认所有规则都是禁用的,我们在.eslintrc.js中添加一条简单的禁用console的规则,当出现console时,将会报warning module.exports = {...但是在一个项目中我们如果配置每一个规则会显得非常麻烦,因此我们选择使用airbnb的规则,使用npm安装: npm i eslint-config-airbnb -D 安装完成之后可以发现控制台告诉我们需要安装...airbnb中的所有规则我们可以根据我们的需要进行重写,我们注意到其中一条error如下: JSX not allowed in files with extension '.js' react.../jsx-filename-extension 前面的为相应说明,后面的为规则,这条不允许我们在.js文件中书写JSX语言,后面为对应的规则,显然是eslint-plugin-react插件的规则,我们可以重写以允许我们在...支持更多的ES6方法 我们在使用babel的时候我们需要明确知道的一点是,babel默认只是为我们转化语法层面上的东西(如箭头函数),并不会为我们去将一些方法进行转化为es2015的实现,也就是说如果我使用

    2.2K30

    一键格式化代码带来的快感 | 你还在为每个项目配置Stylelint和Eslint吗

    Lint其实就是编辑器里运行的一个脚本进程,将代码解析成抽象语法树,遍历抽象语法树并通过预设规则做一些判断和修改,再将新的抽象语法树转换成正确代码。...整个校验过程都跟抽象语法树相关,若暂未接触过抽象语法树,可阅读babel源码或eslint源码了解其工作原理。 开发过程中启用Lint能带来以下好处。...eslint-config-standard eslint-plugin-html eslint-plugin-import eslint-plugin-node eslint-plugin-promise...说明Eslint被禁用了,虽然配置里无明确的禁用字段,但还是被禁用了。...此时移步到VSCode右下角的工具栏,会看到禁用图标+ESLINT的标红按钮,单击它会弹出一个弹框,选择Allow Everywhere就能启用Eslint所有校验功能。

    2.1K10
    领券