vue2项目增加eslint配置代码规范示例

 更新时间:2022年08月08日 10:56:02   作者:Caroline皮皮  
这篇文章主要为大家介绍了vue2项目增加eslint配置代码规范示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

正文

eslint用于代码检查,prettier用于代码格式化,具体操作如下

1.安装以下eslint插件

安装以下eslint插件,并增加.eslintrc.js配置文件,.eslintignore配置忽略检查的文件

(1)eslint

用于检查和标示出ECMAScript/JavaScript代码规范问题工具。

(2)@babel/eslint-parser

简而言之就是一个解析器,允许您使用ESLint对所有有效的Babel代码进行检查。

ESLint允许使用自定义解析器,当使用此插件时,代码会被Babel解析器解析,并且生成的AST被转换成一个ESLint可以理解的符合ESTree的结构,所有的位置信息如行列也会保留,因此可以轻松的追踪错误

(3)eslint-plugin-vue

Vue.js的官方ESLint插件,即使用eslint检查.vue文件的template和script

(4)eslint-config-prettier或者@vue/eslint-config-prettier

当prettier与eslint有些规则冲突时,使用prettier的规则进行覆盖

其中@vue/cli-plugin-eslint是特别为@vue/cli&create vue setups使用而设计的

(5)@vue/cli-plugin-eslint

vue-cli的eslint 插件,检查和修复文件

1.1 .eslintrc.js文件配置

module.exports = {
  root: true, // 在根目录下寻找.eslintrc.js文件,如果当前工作区打开的项目不是在根目录,则查找.eslintrc.js文件会失败,且eslint检查也不会生效
  env: {
    node: true
  },
  extends: [
    'plugin:vue/essential',
    'eslint:recommended',
    'plugin:prettier/recommended', // 冲突时使用prettier的规则进行覆盖
  ],
  parserOptions: {
    parser: '@babel/eslint-parser'
  },
  rules: {
    'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    'vue/multi-word-component-names': 'off', // 不校验组件名
    "vue/no-multiple-template-root": 0, // 不需要使用根元素包裹template的内容
  }
};

1.2 .eslintignore文件的配置

node_modules
dist

2. 安装prettier

安装prettier,并增加.prettierrc.js文件

代码格式化工具,通过.prettierrc.js文件进行配置代码规范 .prettierrc.js相关配置如下

//配置参照 https://prettier.io/docs/en/options.html
module.exports = {
    tabWidth: 2, // tab 使用两个空格
    endOfLine: "auto", // 保持现有的行尾
    useTabs: false, // 不使用制表符缩进,使用空格缩进
    semi: true, // 代码需要分号结尾
    singleQuote: true, // 单引号
    bracketSpacing: true, // 对象左右两侧需要空格
    jsxBracketSameLine: false, // html 关闭标签换行
    arrowParens: 'avoid', // 单参数的箭头函数参数不需要括号
    proseWrap: 'never', // markdown文档不换行
    trailingComma: 'none' // 结尾处不加逗号
  }

3. package.json相关代码

"devDependencies": {
  "@babel/eslint-parser": "^7.18.9",
  "@vue/cli-plugin-eslint": "^5.0.8",
  "eslint": "^7.32.0",
  "eslint-config-prettier": "^8.5.0",
  "eslint-plugin-vue": "^8.7.1",
  "prettier": "^2.7.1",
}

4. vscode的配置

(1)配置eslint、prettier插件

vscode工具栏右下角两个插件的启用状态

(2)setting.json文件的配置

{
   // 用于保存时使用进行代码格式化
    "editor.codeActionsOnSave": {
        "source.fixAll": true,
    },
    // 用于vscode右下角工具栏展示eslint标识
    "eslint.alwaysShowStatus": true,
}

5. 启动项目

由于是在老项目中增加eslint规范,所以要实现以下两点

第一,其他开发伙伴可轻松使用,需参照以下步骤

(1)确保安装eslint、prettier插件
(2)确保vscode的setting.json文件中的source.fixAll配置为true
(3)删除本地node_modules
     npm i rimraf
     rimraf node_modules
(4)npm i重新安装依赖

第二,因为旧代码有很多代码不规范,为了控制台清爽,也为了提高启动速度,需要将vue.config.js中的lintOnSave设置为false,即运行时不启用lint

以上就是代码规范配置的全部内容了,更多关于vue2代码规范eslint配置的资料请关注脚本之家其它相关文章!

相关文章

  • 详解vue中点击空白处隐藏div的实现(用指令实现)

    详解vue中点击空白处隐藏div的实现(用指令实现)

    本篇文章主要介绍了详解vue中点击空白处隐藏div的实现(用指令实现),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • vue项目使用.env文件配置全局环境变量的方法

    vue项目使用.env文件配置全局环境变量的方法

    这篇文章主要介绍了vue项目使用.env文件配置全局环境变量的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • vue.js实现简易折叠面板

    vue.js实现简易折叠面板

    这篇文章主要为大家详细介绍了JavaScript实现简易折叠面板,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • Vue封装通过API调用的组件的方法详解

    Vue封装通过API调用的组件的方法详解

    在日常业务开发中我们会经常封装一些业务组件,下面这篇文章主要给大家介绍了关于Vue封装通过API调用的组件的方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • 在Vue中使用防抖与节流,及this指向的问题

    在Vue中使用防抖与节流,及this指向的问题

    这篇文章主要介绍了在Vue中使用防抖与节流,及this指向的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Nuxt.js SSR与权限验证的实现

    Nuxt.js SSR与权限验证的实现

    这篇文章主要介绍了Nuxt.js SSR与权限验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • Element UI安装全过程

    Element UI安装全过程

    element ui 就是基于vue的一个ui框架,该框架基于vue开发了很多相关组件,方便我们快速开发页面,饿了么前端团队基于vue进行开发并且进行了开源 element ui 中提供全部都是封装好组件,本文给大家介绍Element UI安装全过程,感兴趣的朋友一起看看吧
    2024-01-01
  • vant的picker的坑及解决

    vant的picker的坑及解决

    这篇文章主要介绍了vant的picker的坑及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Vue3自定义Hooks函数的使用详解

    Vue3自定义Hooks函数的使用详解

    vue3 中的 hooks 就是函数的一种写法,就是将文件的一些单独功能的js代码进行抽离出来进行封装使用,下面我们就来看看vue3中自定义Hooks函数的使用吧
    2023-09-09
  • Vue源码之关于vm.$delete()/Vue.use()内部原理详解

    Vue源码之关于vm.$delete()/Vue.use()内部原理详解

    这篇文章主要介绍了Vue源码之关于vm.$delete()/Vue.use()内部原理详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05

最新评论