vite+vue3代码风格校验及格式化方式

 更新时间:2024年03月18日 09:39:43   作者:V_AYA_V  
这篇文章主要介绍了vite+vue3代码风格校验及格式化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

团队代码风格统一一直是博主想干又没有时间去干的事情,刚好借着新项目搭建,尝试一下使用Eslint及Prettier工具提升一下项目代码的整体质量。

本文在配置方面仅做简单的配置,流程熟悉可以参考Eslint及Prettier官方文档定制自己喜欢的标准。

安装Eslint包

npm install eslint -D

初始化Eslint

npm init @eslint/config

执行命令后会出现以下选项:

(可以按照图片配置,也可以后面直接更改.eslintrc.cjs文件)

init详情

具体配置可以以自己项目为准,博主这里使用的是vite+vue3+js

安装完成之后项目的根目录会出现.eslintrc.cjs文件

module.exports = {
    "env": {
        "browser": true,
        "es2021": true,
        "node": true
    },
    "extends": [
        "eslint:recommended",
        "plugin:vue/vue3-essential"
    ],
    "overrides": [
    ],
    "parserOptions": {
        "ecmaVersion": "latest",
        "sourceType": "module"
    },
    "plugins": [
        "vue"
    ],
    "rules": {
    }
}

安装vite-plugin-eslint包

// 该包的作用是在vite运行时自动检测eslint规范,根据配置在终端显示未通过的校验代码
npm install vite-plugin-eslint -D

安装eslint-parser 及 @babel/core 包

// 该包的作用是允许eslint在babel转换的源代码上运行
npm install @babel/eslint-parser -D
npm install @babel/core -D

安装prettier相关包

npm install prettier -D
npm install eslint-config-prettier -D // eslint兼容的插件,将关闭eslint所有不必要或可能与Prettier冲突的规则
npm install eslint-plugin-prettier -D // eslint的prettier,将Prettier作为ESLint规则运行,并将差异作为单个ESLint问题报告。

安装vue-eslint-parser包

// 用于`.vue`文件的ESLint自定义解析器。
npm install vue-eslint-parser -D

配置.prettierrc

// .prettierrc, 配置不做过多说明,具体可查阅相关文档
{
  "printWidth": 120,
  "tabWidth": 2,
  "useTabs": false,
  "semi": false,
  "trailingComma": "none",
  "singleQuote": true,
  "bracketSpacing": true,
  "jsxBracketSameLine": false,
  "endOfLine": "auto",
  "arrowParens": "avoid"
}

配置.eslintrc.cjs

module.exports = {
  env: {
    browser: true,
    es2021: true,
    node: true
  },
  extends: [
    'eslint:recommended', // eslint核心规则
    'plugin:vue/vue3-essential', // 继承eslint-plugin-vue组件中的基础配置
    'plugin:prettier/recommended', // 继承eslint-plugin-prettier组件中的基础配置
    'eslint-config-prettier' // 处理配置兼容问题
  ],
  parser: 'vue-eslint-parser', // 使用vue解析器
  parserOptions: { // 设置支持的JavaScript语言选项
    ecmaVersion: 'latest', // 指定EcmaScript的版本
    sourceType: 'module', // script/module
    ecmaFeatures: {
      jsx: true
    }
  },
  plugins:{
  	'vue', // eslint-plugin-vue缩写
  	'prettier' // eslint-plugin-prettier缩写
  },
  globals: {
  	// 添加全局变量,防止no-undef 规则发出警告
    defineProps: 'readonly',
    defineEmits: 'readonly',
    defineExpose: 'readonly',
    withDefaults: 'readonly'
  },
  rules: {
    'no-console': 'warn',
    'vue/multi-word-component-names': 'off' // extends中继承过来的属性,可以重新修改
    ...
  }
}

VSCode配置

安装ESLint及Prettier插件

Eslint插件

Prettier插件

1.打开VSCode设置>用户>文本编辑器>格式化>勾选Format On Save

配置保存自动格式化

2. 搜索Prettier>勾选Require Config

配置方案文件

3.打开VSCode设置>用户>文本编辑器>Default Formatter>选择Prettier - Code formatter

配置默认格式化程序

4.ctr+shift+p打开首选项配置settings.json>添加eslint vue支持

...
"eslint.validate": [
  "javascript",
   "javascriptreact",
   "vue"
 ],
...

特别提醒:

每次修改完Eslint及Prettier配置最好重新启动VSCode,防止出现配置不生效的情况

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 在Vue3中配置TypeScript的详细教程

    在Vue3中配置TypeScript的详细教程

    随着前端技术的发展,TypeScript 已经成为了许多开发者的首选语言之一,因为它提供了静态类型检查,可以帮助开发者在编写代码阶段就发现错误,本文将详细介绍如何在 Vue 3 中配置 TypeScript,需要的朋友可以参考下
    2024-10-10
  • 基于vue.js实现的分页

    基于vue.js实现的分页

    本文主要给大家介绍基于vue的分页原生写法,代码分为html部分和js部分,简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2018-03-03
  • vue3使用Element-plus的el-pagination分页组件时无法显示中文

    vue3使用Element-plus的el-pagination分页组件时无法显示中文

    本文主要介绍了vue3使用Element-plus的el-pagination分页组件时无法显示中文,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12
  • 解决elementui上传组件el-upload无法第二次上传问题

    解决elementui上传组件el-upload无法第二次上传问题

    这篇文章主要介绍了解决elementui上传组件el-upload无法第二次上传问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • VUE前端打包到测试环境的解决方法

    VUE前端打包到测试环境的解决方法

    这篇文章主要介绍了若依VUE前端打包到测试环境,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • 利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序

    利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序

    这篇文章主要介绍了利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • vue arco.design锚点Anchor使用方式

    vue arco.design锚点Anchor使用方式

    这篇文章主要介绍了vue arco.design锚点Anchor使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • 简单谈谈Vue3中的ref和reactive

    简单谈谈Vue3中的ref和reactive

    vue3中实现响应式数据的方法是就是使用ref和reactive,所谓响应式就是界面和数据同步,能实现实时更新,下面这篇文章主要给大家介绍了关于Vue3中ref和reactive的相关资料,需要的朋友可以参考下
    2023-04-04
  • vue2.x双向数据绑定原理解析

    vue2.x双向数据绑定原理解析

    双向数据绑定原理主要运用了发布订阅模式来实现的,通过Object.defineProperty对数据劫持,触发getter,setter方法,这篇文章主要介绍了vue2.x双向数据绑定原理,需要的朋友可以参考下
    2023-02-02
  • vue中vxe-table虚拟滚动列表的使用详解

    vue中vxe-table虚拟滚动列表的使用详解

    vxe-table 是一个功能强大的 Vue 表格组件,它支持虚拟滚动列表作为其核心功能之一,本文主要介绍一下vxe-table的虚拟滚动列表功能的使用场景和优势,感兴趣的可以了解下
    2023-12-12

最新评论