vue中配置Eslint的步骤代码解析

 更新时间:2025年07月15日 10:04:53   作者:白桃与猫  
本文介绍Vue项目中配置ESLint和Prettier的步骤,包括安装依赖、创建配置文件、设置package.json脚本、格式化配置及运行检查,实现代码规范,感兴趣的朋友一起看看吧

1. 安装ESLint相关依赖

# 安装ESLint核心包
npm install --save-dev eslint
# 安装Vue相关插件
npm install --save-dev eslint-plugin-vue vue-eslint-parser
# 安装JavaScript推荐配置
npm install --save-dev @eslint/js globals
# 安装Prettier相关(用于代码格式化)
npm install --save-dev prettier eslint-plugin-prettier

2. 创建ESLint配置文件

import globals from 'globals';
import pluginJs from '@eslint/js';
import pluginVue from 'eslint-plugin-vue';
import vueParser from 'vue-eslint-parser';
import prettier from 'eslint-plugin-prettier';
export default [
  // 全局忽略配置
  {
    ignores: [
      '**/*.config.js',
      'dist/**',
      'node_modules/**',
      '!**/eslint.config.js',
    ],
  },
  // JavaScript文件配置
  {
    files: ['**/*.js', '**/*.mjs'],//针对.js和.mjs文件
    languageOptions: {
      globals: globals.browser,
      ecmaVersion: 'latest',
      sourceType: 'module',
    },
    plugins: {
      prettier,
    },
    rules: {
      'prettier/prettier': 'error',
      'no-var': 'error',// 禁止使用var
      'no-multiple-empty-lines': ['warn', { max: 1 }],//最多允许1个空行
      'no-console': 'warn',//禁止使用console
      'no-debugger': 'warn',//禁止使用debugger
      'no-unexpected-multiline': 'error',//防止意外的多行语句
      'no-useless-escape': 'off',//关闭对不必要转义字符的检查
      'no-unused-vars': 'error',//禁止未使用的变量
    },
  },
  // Vue文件配置
  {
    files: ['**/*.vue'],
    languageOptions: {
      globals: globals.browser,
      parser: vueParser,
      parserOptions: {
        ecmaVersion: 'latest',
        sourceType: 'module',
        ecmaFeatures: {
          jsx: true,
        },
      },
    },
    plugins: {
      prettier,
      vue: pluginVue,
    },
    rules: {
      'prettier/prettier': 'error',
      'no-var': 'error',
      'no-multiple-empty-lines': ['warn', { max: 1 }],
      'no-console': 'warn',
      'no-debugger': 'warn',
      'no-unexpected-multiline': 'error',
      'no-useless-escape': 'off',
      'no-unused-vars': 'error',
      // Vue特定规则
      'vue/multi-word-component-names': 'off',//关闭组件名必须时多词的要求
      'vue/script-setup-uses-vars': 'error',//确保<script setup>中变量被正确使用
      'vue/no-mutating-props': 'off',
      'vue/attribute-hyphenation': 'off',
      'vue/valid-v-slot': [
        'error',
        {
          allowModifiers: true,
        },
      ],
    },
  },
  // 推荐配置
  pluginJs.configs.recommended,//将使用区推荐的有关JavaScript的ESLint规则
  ...pluginVue.configs['flat/essential'],// 使用Vue.js的基本ESLint规则
];

3. 配置package.json脚本

{
  "scripts": {
    "lint": "eslint . --fix",
    "lint:check": "eslint .",
    "format": "prettier --write ."
  }
}

4. 创建prettier配置文件

对代码进行格式化配置

{
  "semi": true,// 在每个语句的末尾添加分号
  "singleQuote": true,// 使用单引号
  "tabWidth": 2,// 设置缩进的空格数为2
  "useTabs": false,// 使用空格缩进
  "printWidth": 100,//每行的最大字符数为100
  "trailingComma": "all"//在多行结构的最后一个元素后添加逗号
}

5. 运行后检查

# 检查代码
npm run lint:check
# 检查并自动修复
npm run lint
# 格式化代码
npm run format

到此这篇关于vue中配置Eslint的步骤的文章就介绍到这了,更多相关vue配置Eslint内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue2的todolist入门小项目的详细解析

    vue2的todolist入门小项目的详细解析

    本篇文章主要介绍了vue2的todolist入门小项目的详细解析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 微信小程序用户盒子、宫格列表的实现

    微信小程序用户盒子、宫格列表的实现

    这篇文章主要介绍了微信小程序用户盒子、宫格列表,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Vue2 模版指令元素绑定事件执行顺序解析

    Vue2 模版指令元素绑定事件执行顺序解析

    这篇文章主要为大家介绍了Vue2 模版指令元素绑定事件执行顺序解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Vue 实现高级穿梭框 Transfer 封装过程

    Vue 实现高级穿梭框 Transfer 封装过程

    本文介绍了基于Vue2和Element-UI实现的高级穿梭框组件Transfer的设计与技术方案,组件支持多项选择,并能实时同步已选择项,包含竖版和横版设计稿,并提供了组件的使用方法和源码,此组件具备本地分页和搜索功能,适用于需要在两个列表间进行数据选择和同步的场景
    2024-09-09
  • vue使用WebSocket模拟实现聊天功能

    vue使用WebSocket模拟实现聊天功能

    这篇文章主要介绍了vue使用WebSocket模拟实现聊天功能,通过创建node服务和server.js文件实例代码相结合给大家介绍的非常详细,需要的朋友可以参考下
    2021-08-08
  • 浅谈Vue路由快照实现思路及其问题

    浅谈Vue路由快照实现思路及其问题

    这篇文章主要介绍了浅谈Vue路由快照实现思路及其问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • vue清除动态路由的问题记录

    vue清除动态路由的问题记录

    项目中往往都是添加动态路由,如何删除已经添加进来的路由往往被忽视,为此这里做一下记录,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • Vue+express+Socket实现聊天功能

    Vue+express+Socket实现聊天功能

    这篇文章主要为大家详细介绍了Vue+express+Socket实现聊天功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • ElementPlus的el-upload组件使用方式(图片上传)

    ElementPlus的el-upload组件使用方式(图片上传)

    文章详细介绍了ElementPlus的el-upload组件,涵盖了基本用法、关键属性、文件限制、显示设置以及常见问题的解决方案,通过示例和最佳实践建议,帮助开发者实现灵活的图片上传功能
    2026-01-01
  • vue3组合式api实现v-lazy图片懒加载的方法实例

    vue3组合式api实现v-lazy图片懒加载的方法实例

    vue作为前端主流的3大框架之一,目前在国内有着非常广泛的应用,下面这篇文章主要给大家介绍了关于vue3组合式api实现v-lazy图片懒加载的相关资料,需要的朋友可以参考下
    2022-09-09

最新评论