Vue2 项目安装eslint配置说明

Vue2 项目安装eslint配置说明

本指南都适配windows和mac下的开发项目

第一步:安装,全局eslint支持非vue项目,但vue项目必须是项目内安装eslint,且版本必须为v8.x.x

1、全局安装:eslint,版本v8.57.0 。

npm install eslint@8.57.0 -g

2、项目本地dev安装:eslint,切换到项目内,执行命令(必装,指定8.57.0版本,不然会默认安装最新版本,eslint配置文件不支持了)。

npm install eslint@8.57.0 -D

3、项目本地dev安装插件:eslint-plugin-vue(检测.vue文件里的js,必装)

npm install eslint-plugin-vue -D

安装后,项目内package.json的【devDependencies】会多出个【eslint-plugin-vue】,如图:

3、项目本地dev安装插件:eslint-plugin-html(若想检测.html文件里的js,可安装。不用就不装了)

npm install eslint-plugin-vue -D

安装后,项目内package.json的【devDependencies】会多出个【eslint-plugin-html】,如图:

4、vscode安装扩展插件:eslint(必装)

这个扩展的作用,大致是桥接作用,让eslint的规则及功能,融入在vscode里正常运行,最终在输出面板中显示检测结果。以及保存文件就修复错误等方便操作和其他配置。

第二步:配置

5、vscode打开设置:settings.json,写上以下代码,保存时自动修复代码,以及检测文件类型

json 复制代码
"editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
},
"eslint.validate": [
    "javascript",
    "html",
    "vue"
]

6、项目内根目录新建.eslintrc.js文件(检测规则配置文件)

java 复制代码
module.exports = {
    'root': true,
    'env': {
        'browser': true,
        'node': true,
        'commonjs': true,
        'es6': true
    },
    // 检测规则, vue3用:'plugin:vue/vue3-essential'
    'extends': [ 'plugin:vue/essential', 'eslint:recommended' ],
    'parserOptions': {
        'ecmaVersion': 'latest',
        'ecmaFeatures': {
            'jsx': true
        },
        'sourceType': 'module'
    },
    // eslint-plugin-*插件,只写最后个名称就行
    'plugins': [
        'vue',
        'html'
    ],
    // 声明全局变量
    'globals':{
        '$': true,
        'BMap': true,
        'NALA': true,
        'define': true,
        'require': true,
        'NProgress': true
    },

    // 0:关闭,1:警告,2:禁止   或者:off/warn/error
    'rules': {
        'no-cond-assign': 2,  // 禁止:在条件表达式中使用赋值语句
        'no-dupe-args': 2,  // 禁止:函数参数重名
        'no-unused-vars': 2,  // 禁止:未使用过的变量
        'semi': ['error', 'always'],  // 禁止:必须有分号
        'no-console': 1,  // 警告:代码中存在console.log
        'no-unreachable': 0,  // 警告:有无法执行的代码
        'quotes': ['warn', 'single'],  // 警告:字符串单引号
        'indent': ['off', 4],  // 关闭:缩进4个空格
        'linebreak-style': ['off', 'unix']  // 关闭:换行符
    }
};

7、项目内根目录新建.eslintignore文件(忽略eslint检测配置)

arduino 复制代码
dist  
node_modules  
build  
config  
!public  
public/*  
!public/index.html  
*.sh  
*.md  
*.scss  

它是按照从上到下的权重检测,比如:让eslint检测我们vue项目的首页index.html中的js代码,但其他文件不检测。

vbnet 复制代码
!public   //检测public文件夹
public/*  //忽略public里的所有文件
!public/index.html  //只检测public里的index.html

8、最后重启下vscode,查看输出面板,选择eslint,看看是否运行正常。如图检测出问题,完美!

相关推荐
parade岁月7 小时前
为了给表格加虚拟滚动而选了 vxe-table?也可以考虑下这个
前端·vue.js
鹏多多12 小时前
PC 网站接入微信登录,这 10 个坑我替你踩完了!
前端·javascript·vue.js
染指111017 小时前
103.RAG-LLamaIndex后端rag问答-聊天接口
前端·javascript·vue.js·人工智能
单线程_011 天前
从案例分析 Vue3 Tokenizer+Parser 源码三
前端·javascript·vue.js
jay神1 天前
【计算机毕业设计】基于SpringBoot的程序教学辅助系统
java·前端·vue.js·spring boot·后端·毕业设计·课程设计
OpenTiny社区1 天前
从流式消息到多会话:TinyRobot Kit 如何组织 AI 对话数据层
vue.js
卤蛋fg61 天前
vue表格组件 vxe-table 鼠标滑动表头选择整列与选择整行的配置详解
vue.js
阳火锅1 天前
老板要周报?我说不用,代码提交就是进度
前端·javascript·vue.js
简单Janeee2 天前
[Vue 3 从零到上线]-第九篇:更美更强——引入 UI 库与网络请求 (Axios)
网络·vue.js·ui
小蒜学长2 天前
基于SpringBoot + Vue的智能健身房管理系统的设计与实现(代码+数据库+LW)
java·数据库·vue.js·spring boot·后端