sublime text3 配置eslint

sublime text3 配置eslint

1.环境说明

node @>6.14
全局安装 npm i eslint

2.下载插件

  • sublimelinter
  • sublimelinter-eslint

3.配置插件

Preferences -> Package Setting -> SublimeLinter -> setting 打开后在user里做如下配置


// SublimeLinter Settings - User
{
	"debug": true,
    "delay": 0.1,
    "lint_mode": "manual",
    // "syntax_map": {
    //     "html (django)": "html",
    //     "html (rails)": "html",
    //     "html 5": "html",
    //     "css": "css",
    //     "javascript (babel)": "javascript",
    //     "magicpython": "python",
    //     "php": "html",
    //     "python django": "python",
    //     "pythonimproved": "python"
    // },
    "styles": [
        {
            "scope": "region.yellowish markup.warning.sublime_linter",
            "types": ["warning"]
        },
        {
            "scope": "region.redish markup.error.sublime_linter",
            "types": ["error"]
        },
        {
            "priority": 1,
            "icon": "dot",
            "mark_style": "outline"
        }
    ],
    "linters": {
        "eslint": {
            // 让eslint能够识别html页面中嵌入的JS
            "selector": "source.js | text.html.basic"
        },
        // 下面三个sublimelinter默认都支持,为防止检查干扰,需要禁用它们
        "csslint": {
            //"disable": true
        },
        "stylelint":{
            //"disable":true
        },
        "htmlhint": {
            //"disable": true
        }
    }
}

4.使用插件

在自己的工程内执行
eslint --init,选择对应配置(会问你一堆问题,做选择就行)
这是列出的测试配置

module.exports = {
    //此项是用来指定eslint解析器的,解析器必须符合规则,babel-eslint解析器是对babel解析器的包装使其与ESLint解析
    "parser": 'babel-eslint',
    //此项是用来指定javaScript语言类型和风格,sourceType用来指定js导入的方式,默认是script,此处设置为module,指某块导入方式
    "parserOptions": {
        "sourceType": 'module'
    },
    //此项指定环境的全局变量,下面的配置指定为浏览器环境
    "env": {
        "browser": true,
        "es6":true
    },
    // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
    // 此项是用来配置标准的js风格,就是说写代码的时候要规范的写,如果你使用vs-code我觉得应该可以避免出错
    "extends": 'standard',
    "rules": {
        //检测的规则
    }
}

打开一个js文件,右键选择 Lint this view
出现报错(模块没有安装)
执行

npm i babel-eslint eslint-config-standard eslint-plugin-import eslint-plugin-node eslint-plugin-promise eslint-plugin-standard --save-dev

安装完之后再次执行刚才的操作,js文件会出现一堆红框框,鼠标移入会出现报错原因

5.自动提示

在步骤3里的 lint_mode 修改为 background

6.自动修复

安装插件 ESLint-Formatter ,右键选择 ESLint Formatter -> Format This File

7.Vue 使用自动修复

命令:eslint --fix filename 此处如果没有全局安装步骤4所有依赖会报错,因此在sublime 新增编译系统

打开 Tools -> Build System -> New Build System
内容如下

{
	"shell_cmd": ".\\node_modules\\.bin\\eslint --fix $file"
}

再 npm 安装 eslint-plugin-html

npm install eslint-plugin-html --save-dev

修改.eslintrc.js 添加以下内容

"plugins": [
    "html"
]

此时执行 ctrl+b 即可修复

8.报错解决

此时修复vue文件可能会出现

Adjacent JSX elements must be wrapped in an enclosing tag

的报错

解决方案:参考elint-plugin-vue

  • npm 下载 eslint-plugin-vue
npm install --save-dev eslint-plugin-vue
  • 修改.eslintrc.js
module.exports = {
-	"parser": 'babel-eslint',	
	"parserOptions": {
+       "parser": "babel-eslint",
        "sourceType": "module",
    },
}

重新执行 ctrl+b 大功告成

猜你喜欢

转载自blog.csdn.net/qq_41494464/article/details/86470153