2

我想配置我的 GLOBAL eslint 安装以在 Visual Studio Code 中对我的 typescript 项目进行 lint。

所以我安装了 Visual Studio Code 扩展“ESLint”并安装了 ESLint

npm install -g eslint

根据https://www.npmjs.com/package/@typescript-eslint/eslint-plugin它也需要@typescript-eslint/eslint-plugin全局安装,所以我跑了

npm install -g @typescript-eslint/parser @typescript-eslint/eslint-plugin

将它与 ts parse 一起安装@typescript-eslint/parser

接下来,我添加了一个非常简单的 .eslintrc 文件:

{
    "parser": "@typescript-eslint/parser",
    "parserOptions": {
        "ecmaVersion": 2018,
        "sourceType": "module"
    },
    "rules": { }
}

但是,只要我eslint .在我的项目目录中运行,我就会得到:

Error: Failed to load parser '@typescript-eslint/parser' declared in '.eslintrc.js': Cannot find module '@typescript-eslint/parser'

接下来我尝试删除全局安装的解析器并将其安装在本地,但这也不起作用:现在我的全局eslint 安装可以找到我的本地解析器,但是解析器需要另一个本地安装 typescript、eslint 等。我想运行不过,全球的一切。

我根本无法让它工作!任何人都可以帮助我完成这个过程吗?

4

1 回答 1

3

这里有一些建议...

在您的 .eslintrc 中,您没有指定 '@typescript-eslint' 插件...

“插件”:[“@typescript-eslint”],

此外,如果你得到这个工作,你还需要使用绝对路径指定 parserOptions.project 和 tsconfigRootDir 因为找到你的 tsconfig.json - 这样你就可以使用需要类型信息的规则 - 从全局安装中更难。

另外,我认为您需要明确告诉 eslint 插件使用 vsc 设置来验证您的 TS 文件(可能还有 js 和 react 等)....

"eslint.validate": [
    "javascript",
    "javascriptreact",
    "typescript",
    "typescriptreact"
],  

但是,我担心整个事情是一个不确定的任务......请注意,文档说......

也可以全局而不是本地安装 ESLint(使用 npm install eslint --global)。但是,不建议这样做,并且无论哪种情况,您使用的任何插件或可共享配置都必须在本地安装。

我在这里注意到不建议进行全局安装,而且此引用似乎与您提到的全局安装插件的参考相矛盾。我不确定哪个是正确的,因为我已停止以这种方式进行设置,因为不建议这样做。希望这对您有所帮助。

于 2019-10-10T20:21:56.753 回答