37

如何使用 Visual Studio 代码根据 babel/ES7 stage-0 规则对 JavaScript 文件进行 lint?

我只需要 lint 代码。我已经有 webpack 转译 Js 文件。

4

2 回答 2

66

我如何进行:

  • 全局安装 eslint :npm install -g eslint
  • 安装 babel-eslint :npm install --save-dev babel-eslint
  • 安装 eslint-plugin-react :npm install --save-dev eslint-plugin-react
  • .eslintrc在您的根目录中创建文件。这是我的配置:

{
"env": {
        "browser": true,
        "node": true,
        "es6": true,
        "jest": true,
        "jquery": true
    },
    "parser": "babel-eslint",
    "parserOptions": {
        "ecmaVersion": 6,
        "sourceType": "module",
        "ecmaFeatures": {
            "arrowFunctions": true,
            "binaryLiterals": true,
            "blockBindings": true,
            "classes": true,
            "defaultParams": true,
            "destructuring": true,
            "forOf": true,
            "generators": true,
            "modules": true,
            "objectLiteralComputedProperties": true,
            "objectLiteralDuplicateProperties": true,
            "objectLiteralShorthandMethods": true,
            "objectLiteralShorthandProperties": true,
            "octalLiterals": true,
            "regexUFlag": true,
            "regexYFlag": true,
            "spread": true,
            "superInFunctions": true,
            "templateStrings": true,
            "unicodeCodePointEscapes": true,
            "globalReturn": true,
            "jsx": true,
            "experimentalObjectRestSpread": true
        }
    },
    "plugins": [
        "react"
    ],
    "rules": {
        "strict": 0
    }
}
  • 在 VSC 中, push F1,然后写“扩展”,选择“安装扩展”,然后,写“eslint”并验证。您将不得不重新启动 VSC
  • 在 VSC 代码中,打开用户参数 ( settings.json) 并写入:

{
    //disable default javascript validator replaced by eslint
    "javascript.validate.enable" : false 
} 

现在,它应该根据需要对您的 ES7 代码进行 lint。如果 VSC 读取 eslint 配置有任何问题,您可以在 VSC 控制台 ( Ctrls ShiftU) 中查看。

结果,ES7 代码(例如对象中的扩展运算符)被很好地整理: 在此处输入图像描述

PS:可能是我.eslintrc为 ES7 linting 使用了一些无用的额外数据,所以请随意删除它:)

于 2016-03-31T07:40:20.023 回答
1

由于 ESLint 扩展可以使用 babel-eslint,安装它并在用户/工作区设置中关闭 vscode 的内置 linting。

这是使用 Create React App 的 eslint 配置 + 可选链接的示例设置:

.vscode/settings.json

{
  "javascript.validate.enable": false,
  "eslint.enable": true
}

.eslintrc

{
  "extends": "react-app"
  "parser": "babel-eslint",
}

.babelrc

{
  "plugins": ["@babel/plugin-proposal-optional-chaining"]
}

这是要为此设置安装的所有 npm 包:

npm install --save-dev eslint-config-react-app babel-eslint@10.x @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint@5.x eslint-plugin-flowtype@2.x eslint-plugin-import@2.x eslint-plugin-jsx-a11y@6.x eslint-plugin-react@7.x eslint-plugin-react-hooks@1.5.0 @babel/core @babel/plugin-proposal-optional-chaining

对于那些刚接触 React 或 babel 的人,除非你真的在使用 Create React App,否则你需要更多的 babel 配置。如果您需要帮助,请仅将上述内容用作补充信息和评论。

于 2019-07-13T20:02:06.017 回答