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,看看是否运行正常。如图检测出问题,完美!

相关推荐
u01110267521 分钟前
WebP 转成 PNG 后为什么更大?图片格式转换不等于压缩
前端·javascript·vue.js
seconp39 分钟前
基于Spring Boot和Vue 3的智慧旅游网站:住宿预订、行程规划与千问接入
vue.js·spring boot·毕业设计·软件工程·课程设计·旅游·毕设
daols882 小时前
vue 甘特图组件 vxe-gantt 修改滚动条样式-让滚动条自动隐藏
javascript·vue.js·甘特图
特立独行的猫A2 小时前
仓颉UI开发实战:我用仓颉写了个桌面版力扣:从判题机到 100 道题
vue.js
用户1733598075373 小时前
纯前端 PDF 双面打印避坑指南:翻页顺序错了整个白印?
前端·javascript·vue.js
码艺-Alimjan14 小时前
Tauri 源码备份 · 打包 & 解压 总结,源码收集之路
前端·javascript·vue.js
顽疲17 小时前
Java vue 养老系统源码详解:月账单 care_month_bill 与 Quartz 扣费 Job 实践
java·开发语言·vue.js·vue养老·springboot养老·java养老
毕业设计70319 小时前
(免费领源码)基于node的学生公寓管理系统06412- java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
vue.js·mysql·node.js·maven·mybatis·express·b/s
古夕19 小时前
地址变了,页面是空的:一次 Vue Router 菜单切换复盘
前端·vue.js
沙漏无语1 天前
pnpm 安装@vue-office包的幽灵依赖问题解决
前端·javascript·vue.js