VSCode Linter ES6 ES7 Babel linter

Dam*_*oux 35 javascript eslint babeljs ecmascript-7 visual-studio-code

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

我只需要lint代码.我已经有webpack转换Js文件了.

Dam*_*oux 63

我如何进行:

  • 安装全局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
    }
}
Run Code Online (Sandbox Code Playgroud)
  • 在VSC中,按F1,然后写"扩展",选择"安装扩展",然后写"eslint"并验证.你将不得不重新启动VSC
  • 在VSC代码中,打开用户参数(settings.json)并写入:

{
    //disable default javascript validator replaced by eslint
    "javascript.validate.enable" : false 
} 
Run Code Online (Sandbox Code Playgroud)

现在,它应该是你想要的ES7代码.如果VSC读取eslint配置有任何问题,您可以在VSC控制台(Ctrls ShiftU)中看到它.

因此,ES7代码(例如对象中的扩展运算符)很明显: 在此输入图像描述

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