睡个懒觉 發表於 2024-12-22 10:29:00

Next.js项目中.eslintrc.js的配置

<div style="background: rgba(248, 248, 248, 1); overflow: auto; width: auto; border-top: 0.1em solid rgba(128, 128, 128, 1); border-right: 0.1em solid rgba(128, 128, 128, 1); border-bottom: 0.1em solid rgba(128, 128, 128, 1); border-left: 0.8em solid rgba(128, 128, 128, 1); padding: 0.2em 0.6em">
<pre><span style="color: rgba(0, 128, 0, 1); font-weight: bold">print</span> <span style="color: rgba(186, 33, 33, 1)">'hello world!'</span><span style="color: rgba(0, 128, 0, 1); font-weight: bold">module</span><span style="color: rgba(0, 0, 255, 1); font-weight: bold">.exports</span> <span style="color: rgba(102, 102, 102, 1)">=</span> {
<span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">扩展配置,包含</span>Next<span style="color: rgba(102, 102, 102, 1)">.</span>js<span style="border: 1px solid rgba(255, 0, 0, 1)">的核心</span>Web Vitals<span style="border: 1px solid rgba(255, 0, 0, 1)">插件和</span>TypeScript<span style="border: 1px solid rgba(255, 0, 0, 1)">支持插件等</span>
extends<span style="color: rgba(102, 102, 102, 1)">:</span> [<span style="color: rgba(186, 33, 33, 1)">'next/core-web-vitals'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'plugin:@typescript-eslint/recommended'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'plugin:import/recommended'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'prettier'</span>]<span style="color: rgba(102, 102, 102, 1)">,</span>
rules<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">{</span>
    <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">关闭</span>jsx<span style="color: rgba(102, 102, 102, 1)">-</span>a11y<span style="border: 1px solid rgba(255, 0, 0, 1)">插件的</span>alt<span style="color: rgba(102, 102, 102, 1)">-</span><span style="color: rgba(0, 128, 0, 1); font-weight: bold">text</span><span style="border: 1px solid rgba(255, 0, 0, 1)">规则,通常用于图像的</span>alt<span style="border: 1px solid rgba(255, 0, 0, 1)">属性检查</span>
    <span style="color: rgba(186, 33, 33, 1)">'jsx-a11y/alt-text'</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'off'</span><span style="color: rgba(102, 102, 102, 1)">,</span>
    <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">关闭</span>React<span style="border: 1px solid rgba(255, 0, 0, 1)">插件的</span><span style="color: rgba(0, 128, 0, 1); font-weight: bold">display</span><span style="color: rgba(102, 102, 102, 1)">-</span>name<span style="border: 1px solid rgba(255, 0, 0, 1)">规则,检查组件是否有</span>displayName
    <span style="color: rgba(186, 33, 33, 1)">'react/display-name'</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'off'</span><span style="color: rgba(102, 102, 102, 1)">,</span>
    <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">关闭</span>React<span style="border: 1px solid rgba(255, 0, 0, 1)">插件的</span>no<span style="color: rgba(102, 102, 102, 1)">-</span>children<span style="color: rgba(102, 102, 102, 1)">-</span>prop<span style="border: 1px solid rgba(255, 0, 0, 1)">规则,防止使用</span>children<span style="border: 1px solid rgba(255, 0, 0, 1)">属性</span>
    <span style="color: rgba(186, 33, 33, 1)">'react/no-children-prop'</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'off'</span><span style="color: rgba(102, 102, 102, 1)">,</span>
    <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">关闭</span>Next<span style="color: rgba(102, 102, 102, 1)">.</span>js<span style="border: 1px solid rgba(255, 0, 0, 1)">插件的</span>no<span style="color: rgba(102, 102, 102, 1)">-</span>img<span style="color: rgba(102, 102, 102, 1)">-</span>element<span style="border: 1px solid rgba(255, 0, 0, 1)">规则,不允许使用</span>img<span style="border: 1px solid rgba(255, 0, 0, 1)">元素</span>
    <span style="color: rgba(186, 33, 33, 1)">'@next/next/no-img-element'</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'off'</span><span style="color: rgba(102, 102, 102, 1)">,</span>
    <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">关闭</span>Next<span style="color: rgba(102, 102, 102, 1)">.</span>js<span style="border: 1px solid rgba(255, 0, 0, 1)">插件的</span>no<span style="color: rgba(102, 102, 102, 1)">-</span><span style="color: rgba(0, 128, 0, 1); font-weight: bold">page</span><span style="color: rgba(102, 102, 102, 1)">-</span>custom<span style="color: rgba(102, 102, 102, 1)">-</span><span style="color: rgba(0, 128, 0, 1); font-weight: bold">font</span><span style="border: 1px solid rgba(255, 0, 0, 1)">规则,不允许使用自定义字体</span>
    <span style="color: rgba(186, 33, 33, 1)">'@next/next/no-page-custom-font'</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'off'</span><span style="color: rgba(102, 102, 102, 1)">,</span>
    <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">强制使用一致的类型导入形式</span>
    <span style="color: rgba(186, 33, 33, 1)">'@typescript-eslint/consistent-type-imports'</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'error'</span><span style="color: rgba(102, 102, 102, 1)">,</span>
    <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">关闭</span>TypeScript<span style="border: 1px solid rgba(255, 0, 0, 1)">插件的</span>ban<span style="color: rgba(102, 102, 102, 1)">-</span>ts<span style="color: rgba(102, 102, 102, 1)">-</span>comment<span style="border: 1px solid rgba(255, 0, 0, 1)">规则,不允许使用</span>ts<span style="border: 1px solid rgba(255, 0, 0, 1)">注释</span>
    <span style="color: rgba(186, 33, 33, 1)">'@typescript-eslint/ban-ts-comment'</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'off'</span><span style="color: rgba(102, 102, 102, 1)">,</span>
    <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">关闭</span>TypeScript<span style="border: 1px solid rgba(255, 0, 0, 1)">插件的</span>no<span style="color: rgba(102, 102, 102, 1)">-</span>explicit<span style="color: rgba(102, 102, 102, 1)">-</span>any<span style="border: 1px solid rgba(255, 0, 0, 1)">规则,不允许使用</span>any<span style="border: 1px solid rgba(255, 0, 0, 1)">类型</span>
    <span style="color: rgba(186, 33, 33, 1)">'@typescript-eslint/no-explicit-any'</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'off'</span><span style="color: rgba(102, 102, 102, 1)">,</span>
    <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">强制禁止未使用的变量</span>
    <span style="color: rgba(186, 33, 33, 1)">'@typescript-eslint/no-unused-vars'</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'error'</span><span style="color: rgba(102, 102, 102, 1)">,</span>
    <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">关闭</span>TypeScript<span style="border: 1px solid rgba(255, 0, 0, 1)">插件的</span>no<span style="color: rgba(102, 102, 102, 1)">-</span>non<span style="color: rgba(102, 102, 102, 1)">-</span>null<span style="color: rgba(102, 102, 102, 1)">-</span>assertion<span style="border: 1px solid rgba(255, 0, 0, 1)">规则,不允许使用非空断言</span>
    <span style="color: rgba(186, 33, 33, 1)">'@typescript-eslint/no-non-null-assertion'</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'off'</span><span style="color: rgba(102, 102, 102, 1)">,</span>
    <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">在注释前后强制使用空行</span>
    <span style="color: rgba(186, 33, 33, 1)">'lines-around-comment'</span><span style="color: rgba(102, 102, 102, 1)">:</span> [
      <span style="color: rgba(186, 33, 33, 1)">'error'</span><span style="color: rgba(102, 102, 102, 1)">,</span>
      <span style="border: 1px solid rgba(255, 0, 0, 1)">{</span>
      beforeBlockComment<span style="color: rgba(102, 102, 102, 1)">:</span> true<span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">在块注释前使用空行</span>
      beforeLineComment<span style="color: rgba(102, 102, 102, 1)">:</span> true<span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">在行注释前使用空行</span>
      allowBlockStart<span style="color: rgba(102, 102, 102, 1)">:</span> true<span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">允许在块开始时使用空行</span>
      allowObjectStart<span style="color: rgba(102, 102, 102, 1)">:</span> true<span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">允许在对象开始时使用空行</span>
      allowArrayStart<span style="color: rgba(102, 102, 102, 1)">:</span> true <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">允许在数组开始时使用空行</span>
      }
    <span style="color: rgba(102, 102, 102, 1)">],</span>
    <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">在特定的语句之间强制使用空行</span>
    <span style="color: rgba(186, 33, 33, 1)">'padding-line-between-statements'</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(102, 102, 102, 1)">[</span>
      <span style="color: rgba(186, 33, 33, 1)">'error'</span><span style="color: rgba(102, 102, 102, 1)">,</span>
      {
      blankLine<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'any'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">在任意</span>export<span style="border: 1px solid rgba(255, 0, 0, 1)">语句之间可以有或没有空行</span>
      prev<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'export'</span><span style="color: rgba(102, 102, 102, 1)">,</span>
      next<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'export'</span>
      }<span style="color: rgba(102, 102, 102, 1)">,</span>
      {
      blankLine<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'always'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">在变量声明和任意语句之间强制使用空行</span>
      prev<span style="color: rgba(102, 102, 102, 1)">:</span> [<span style="color: rgba(186, 33, 33, 1)">'const'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'let'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'var'</span>]<span style="color: rgba(102, 102, 102, 1)">,</span>
      next<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'*'</span>
      }<span style="color: rgba(102, 102, 102, 1)">,</span>
      {
      blankLine<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'any'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">在连续的变量声明之间可以有或没有空行</span>
      prev<span style="color: rgba(102, 102, 102, 1)">:</span> [<span style="color: rgba(186, 33, 33, 1)">'const'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'let'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'var'</span>]<span style="color: rgba(102, 102, 102, 1)">,</span>
      next<span style="color: rgba(102, 102, 102, 1)">:</span> [<span style="color: rgba(186, 33, 33, 1)">'const'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'let'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'var'</span>]
      }<span style="color: rgba(102, 102, 102, 1)">,</span>
      {
      blankLine<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'always'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">在任意语句和函数或多行</span>const<span style="border: 1px solid rgba(255, 0, 0, 1)">、多行块之间强制使用空行</span>
      prev<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'*'</span><span style="color: rgba(102, 102, 102, 1)">,</span>
      next<span style="color: rgba(102, 102, 102, 1)">:</span> [<span style="color: rgba(186, 33, 33, 1)">'function'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'multiline-const'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'multiline-block-like'</span>]
      }<span style="color: rgba(102, 102, 102, 1)">,</span>
      {
      blankLine<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'always'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">在函数或多行</span>const<span style="border: 1px solid rgba(255, 0, 0, 1)">、多行块和任意语句之间强制使用空行</span>
      prev<span style="color: rgba(102, 102, 102, 1)">:</span> [<span style="color: rgba(186, 33, 33, 1)">'function'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'multiline-const'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'multiline-block-like'</span>]<span style="color: rgba(102, 102, 102, 1)">,</span>
      next<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'*'</span>
      }
    <span style="color: rgba(102, 102, 102, 1)">],</span>
    <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">在</span><span style="color: rgba(0, 128, 0, 1); font-weight: bold">return</span><span style="border: 1px solid rgba(255, 0, 0, 1)">语句之前强制使用空行</span>
    <span style="color: rgba(186, 33, 33, 1)">'newline-before-return'</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'error'</span><span style="color: rgba(102, 102, 102, 1)">,</span>
    <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">在导入语句之后强制使用空行</span>
    <span style="color: rgba(186, 33, 33, 1)">'import/newline-after-import'</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(102, 102, 102, 1)">[</span>
      <span style="color: rgba(186, 33, 33, 1)">'error'</span><span style="color: rgba(102, 102, 102, 1)">,</span>
      {
      count<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(102, 102, 102, 1)">1</span>
      }
    <span style="color: rgba(102, 102, 102, 1)">],</span>
    <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">强制导入的顺序</span>
    <span style="color: rgba(186, 33, 33, 1)">'import/order'</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(102, 102, 102, 1)">[</span>
      <span style="color: rgba(186, 33, 33, 1)">'error'</span><span style="color: rgba(102, 102, 102, 1)">,</span>
      {
      groups<span style="color: rgba(102, 102, 102, 1)">:</span> [<span style="color: rgba(186, 33, 33, 1)">'builtin'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'external'</span><span style="color: rgba(102, 102, 102, 1)">,</span> [<span style="color: rgba(186, 33, 33, 1)">'internal'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'parent'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'sibling'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'index'</span>]<span style="color: rgba(102, 102, 102, 1)">,</span> [<span style="color: rgba(186, 33, 33, 1)">'object'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'unknown'</span>]]<span style="color: rgba(102, 102, 102, 1)">,</span>
      pathGroups<span style="color: rgba(102, 102, 102, 1)">:</span> [
          <span style="border: 1px solid rgba(255, 0, 0, 1)">{</span>
            pattern<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'react'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">在</span>react<span style="border: 1px solid rgba(255, 0, 0, 1)">导入之前使用空行</span>
            group<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'external'</span><span style="color: rgba(102, 102, 102, 1)">,</span>
            <span style="color: rgba(0, 128, 0, 1); font-weight: bold">position</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'before'</span>
          }<span style="color: rgba(102, 102, 102, 1)">,</span>
          {
            pattern<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'next/**'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">在</span>next<span style="border: 1px solid rgba(255, 0, 0, 1)">导入之前使用空行</span>
            group<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'external'</span><span style="color: rgba(102, 102, 102, 1)">,</span>
            <span style="color: rgba(0, 128, 0, 1); font-weight: bold">position</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'before'</span>
          }<span style="color: rgba(102, 102, 102, 1)">,</span>
          {
            pattern<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'~/**'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">在自定义路径导入之前使用空行</span>
            group<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'external'</span><span style="color: rgba(102, 102, 102, 1)">,</span>
            <span style="color: rgba(0, 128, 0, 1); font-weight: bold">position</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'before'</span>
          }<span style="color: rgba(102, 102, 102, 1)">,</span>
          {
            pattern<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'@/**'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">在内部导入之前使用空行</span>
            group<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'internal'</span>
          }
      <span style="color: rgba(102, 102, 102, 1)">],</span>
      <span style="color: rgba(0, 128, 0, 1); font-weight: bold">pathGroupsExcludedImportTypes</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(102, 102, 102, 1)">[</span><span style="color: rgba(186, 33, 33, 1)">'react'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'type'</span><span style="color: rgba(102, 102, 102, 1)">],</span>
      <span style="color: rgba(186, 33, 33, 1)">'newlines-between'</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'always-and-inside-groups'</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">在分组内和分组之间强制使用空行</span>
      <span style="border: 1px solid rgba(255, 0, 0, 1)">}</span>
    <span style="color: rgba(102, 102, 102, 1)">],</span>
    <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">禁用不推荐的类型,并推荐使用更具体的类型</span>
    <span style="color: rgba(186, 33, 33, 1)">'@typescript-eslint/ban-types'</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(102, 102, 102, 1)">[</span>
      <span style="color: rgba(186, 33, 33, 1)">'error'</span><span style="color: rgba(102, 102, 102, 1)">,</span>
      {
      extendDefaults<span style="color: rgba(102, 102, 102, 1)">:</span> true<span style="color: rgba(102, 102, 102, 1)">,</span>
      types<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">{</span>
          Function<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'Use a specific function type instead'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">使用具体的函数类型替代</span>
          Object<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'Use object instead'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">使用</span>object<span style="border: 1px solid rgba(255, 0, 0, 1)">代替</span>
          Boolean<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'Use boolean instead'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">使用</span>boolean<span style="border: 1px solid rgba(255, 0, 0, 1)">代替</span>
          Number<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'Use number instead'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">使用</span>number<span style="border: 1px solid rgba(255, 0, 0, 1)">代替</span>
          String<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'Use string instead'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">使用</span>string<span style="border: 1px solid rgba(255, 0, 0, 1)">代替</span>
          Symbol<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'Use symbol instead'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">使用</span>symbol<span style="border: 1px solid rgba(255, 0, 0, 1)">代替</span>
          any<span style="color: rgba(102, 102, 102, 1)">:</span> false<span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">禁用</span>any<span style="border: 1px solid rgba(255, 0, 0, 1)">类型</span>
          <span style="color: rgba(186, 33, 33, 1)">'{}'</span><span style="color: rgba(102, 102, 102, 1)">:</span> false <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">禁用空对象类型</span>
      }
      <span style="border: 1px solid rgba(255, 0, 0, 1)">}</span>
    <span style="color: rgba(102, 102, 102, 1)">]</span>
<span style="border: 1px solid rgba(255, 0, 0, 1)">}</span><span style="color: rgba(102, 102, 102, 1)">,</span>
<span style="color: rgba(0, 128, 0, 1); font-weight: bold">settings</span><span style="color: rgba(102, 102, 102, 1)">:</span> {
    react<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">{</span>
      version<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'detect'</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">自动检测</span>React<span style="border: 1px solid rgba(255, 0, 0, 1)">的版本</span>
    }<span style="color: rgba(102, 102, 102, 1)">,</span>
    <span style="color: rgba(186, 33, 33, 1)">'import/parsers'</span><span style="color: rgba(102, 102, 102, 1)">:</span> {
      <span style="color: rgba(186, 33, 33, 1)">'@typescript-eslint/parser'</span><span style="color: rgba(102, 102, 102, 1)">:</span> [<span style="color: rgba(186, 33, 33, 1)">'.ts'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'.tsx'</span>] <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">使用</span>TypeScript<span style="border: 1px solid rgba(255, 0, 0, 1)">解析器解析</span><span style="color: rgba(102, 102, 102, 1)">.</span>ts<span style="border: 1px solid rgba(255, 0, 0, 1)">和</span><span style="color: rgba(102, 102, 102, 1)">.</span>tsx<span style="border: 1px solid rgba(255, 0, 0, 1)">文件</span>
    }<span style="color: rgba(102, 102, 102, 1)">,</span>
    <span style="color: rgba(186, 33, 33, 1)">'import/resolver'</span><span style="color: rgba(102, 102, 102, 1)">:</span> {
      node<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">{</span>}<span style="color: rgba(102, 102, 102, 1)">,</span>
      <span style="color: rgba(0, 128, 0, 1); font-weight: bold">typescript</span><span style="color: rgba(102, 102, 102, 1)">:</span> {
      project<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'./tsconfig.json'</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">使用项目中的</span>tsconfig<span style="color: rgba(102, 102, 102, 1)">.</span>json<span style="border: 1px solid rgba(255, 0, 0, 1)">文件进行解析</span>
      }
    <span style="border: 1px solid rgba(255, 0, 0, 1)">}</span>
<span style="border: 1px solid rgba(255, 0, 0, 1)">}</span><span style="color: rgba(102, 102, 102, 1)">,</span>
<span style="color: rgba(0, 128, 0, 1); font-weight: bold">overrides</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(102, 102, 102, 1)">[</span>
    {
      files<span style="color: rgba(102, 102, 102, 1)">:</span> [<span style="color: rgba(186, 33, 33, 1)">'*.ts'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'*.tsx'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(186, 33, 33, 1)">'src/iconify-bundle/*'</span>]<span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">指定文件匹配模式</span>
      rules<span style="color: rgba(102, 102, 102, 1)">:</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">{</span>
      <span style="color: rgba(186, 33, 33, 1)">'@typescript-eslint/explicit-module-boundary-types'</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'off'</span><span style="color: rgba(102, 102, 102, 1)">,</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">关闭显式模块边界类型检查</span>
      <span style="color: rgba(186, 33, 33, 1)">'@typescript-eslint/no-var-requires'</span><span style="color: rgba(102, 102, 102, 1)">:</span> <span style="color: rgba(186, 33, 33, 1)">'off'</span> <span style="color: rgba(102, 102, 102, 1)">//</span> <span style="border: 1px solid rgba(255, 0, 0, 1)">关闭不允许使用</span>require<span style="border: 1px solid rgba(255, 0, 0, 1)">语句的规则</span>
      }
    <span style="border: 1px solid rgba(255, 0, 0, 1)">}</span>
<span style="color: rgba(102, 102, 102, 1)">]</span>
<span style="border: 1px solid rgba(255, 0, 0, 1)">}</span><span style="color: rgba(102, 102, 102, 1)">;</span>
</pre>
</div>

</div>
<div id="MySignature" role="contentinfo">
    <br /><p><table><tr><td><img style="border-top-width: 0pt; border-left-width: 0pt; border-bottom-width: 0pt; border-right-width: 0pt" alt="Creative Commons License" src="http://i.creativecommons.org/l/by-nc/2.5/cn/88x31.png" /> </td><td>本作品采用 知识共享署名-非商业性使用 2.5 中国大陆许可协议进行许可。 </td></p><br><br>
来源:https://www.cnblogs.com/sekihin/p/18621888
頁: [1]
查看完整版本: Next.js项目中.eslintrc.js的配置