Vue2 项目安装eslint配置说明

Vue2 项目安装eslint配置说明

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

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

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

npm install [email protected] -g

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

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

相关推荐
customer0820 分钟前
【开源免费】基于SpringBoot+Vue.JS电商应用系统(JAVA毕业设计)
java·vue.js·spring boot·后端·开源
摇滚侠31 分钟前
项目中pnpm版本和全局pnpm版本不一致
vue.js
Honeysea_7032 分钟前
React 和 Vue 框架概念及区别
前端·vue.js·react.js
chengliu050840 分钟前
el-select+transition-group踩坑
前端·vue.js
优秀稳妥的JiaJi1 小时前
使用contenteditable实现富文本输入框
前端·vue.js·架构
blzlh2 小时前
春招面试万字整理,全程拷打,干货满满(2)
前端·vue.js·面试
陆康永3 小时前
uniapp-x vue 特性
javascript·vue.js·uni-app
xuyanzhuqing3 小时前
Vue3+Vite使用 Puppeteer 代码零侵入进行SEO优化(SSR+Meta)
vue.js·node.js
一 乐6 小时前
招聘信息|基于SprinBoot+vue的招聘信息管理系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·招聘系统