代码之家  ›  专栏  ›  技术社区  ›  user762579

eslint正确地linting我的typescript文件

  •  0
  • user762579  · 技术社区  · 6 年前

    我有.js文件(src/client/…)和.ts文件(src/server/)。

    我安装了以下软件包:

    包装袋

      "eslint": "^5.11.1",
      "eslint-config-airbnb-base": "^13.1.0",
      "eslint-config-typescript": "^1.1.0",
      "eslint-plugin-import": "^2.14.0",
      "eslint-plugin-typescript": "^0.14.0",
      ....
      "typescript": "^3.0.3",
      "typescript-eslint-parser": "^21.0.2",
    

    我在package.json中定义了以下aslant配置

      "eslintConfig": {
        "extends": ["airbnb-base", "eslint:recommended", "typescript"],
        "env": { "es6": true, "browser": true },
        "parserOptions": { "parser": "typescript-eslint-parser" },
        "plugins": ["typescript"],
        "rules": {
          "no-unused-vars": ["error", { "vars": "all", "args": "after-used", "ignoreRestSiblings": false }],
          "no-var": ["off"],
          "one-var": ["off"],
          "prefer-destructuring": ["error", { "object": false, "array": false } ],
          "no-underscore-dangle": ["error", { "allow": ["__blogPostData"] }]
        }
      }
    

    然后我设置了lint脚本:

     "lint": "eslint src --fix",
    

    它正确地列出了我所有的.js文件,但是我在.t s文件中没有看到任何警告/错误(我怀疑它们都写得很好…)

    我在排字脚本的eslint设置中是否出错或丢失了任何内容?

    2 回复  |  直到 5 年前
        1
  •  0
  •   Bronco Oostermeyer    6 年前

    您应该对typescript使用tslint,而不是eslint:

    npm i tslint --save
    

    之后,在项目根目录中创建一个tslint.json(或者根据您喜欢的规则从Web中选择一个)。只是我在谷歌上找到的一个链接: ts lint setup

        2
  •  0
  •   Spain Train    5 年前

    parser 是根级配置项,而不是字段 parserOptions :

     "eslintConfig": {
        "parser": "typescript-eslint-parser"
        "parserOptions": { ...options },
        "plugins": ["typescript"]
      }
    

    另外,您使用的解析器和插件也不推荐使用。更新/维护的项目都可以在 https://github.com/typescript-eslint/typescript-eslint . (配置是相同的,只是更新了名称)。下面是一个关于如何设置的详细步骤- https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb

    注意,不要在 package.json ,您可以使用单独的 .eslintrc.{js,yaml} . 根目录中的一个将为javascript设置标准规则,另一个将在 ./src/server 只能为相关目录设置typescript解析器&plugin(但仍然可以获取所有标准根规则)。