Vue3+TS项目中eslint、prettier安装配置详细指南

 更新时间:2024年07月17日 10:50:19   作者:小迟前端  
为了更好的统一项目的代码风格,因此在编写时就可以使用eslint+prettier,它们不仅能方便代码编写,还能避免不必要的错误,让代码变得更加严谨,这篇文章主要给大家介绍了关于Vue3+TS项目中eslint、prettier安装配置的相关资料,需要的朋友可以参考下

前言

eslint和prettier的作用主要为:可以规范团队的代码风格。在实际项目中,团队的每个成员的编码习惯都不同,这极有可能造成,一个项目多个代码风格,这会造成代码阅读困难,后期维护难度大灯问题,这就需要配置下eslint和prettier。

1.eslint

1.安装依赖

首先我们需要先安装 @eslint/create-config 插件:

pnpm install -D @eslint/create-config

提示我未安装eslint,按y,回车安装

Need to install the following packages:
  eslint@8.57.0
Ok to proceed? (y) y

接下来执行初始化。

npx eslint --init

接下来会有弹出一些问题,可根据自身项目情况进行回答,期间会询问是否需要安装相应插件,y->回车。

2.配置eslintrc

会在项目根目录下生成.eslintrc.cjs文件,然后对项目进行自己需要的配置

module.exports = {
    // 使 eslint 支持 node 与 ES6
    env: {
        browser: true,
        es2021: true,
        node: true
    },
    // 引入推荐的语法校验规则
    extends: [
        'eslint:recommended',
        'plugin:vue/vue3-recommended',
        'plugin:@typescript-eslint/recommended',
        'plugin:prettier/recommended'
    ],
    overrides: [],
    // 这里一定要配置对 先使用vue-eslint-parser 再使用@typescript-eslint/parser
    // 先解析 <template> 标签中的内容 然后再解析 vue <script> 标签中的 TS 代码
    // 选择使用的解析器
    parser: 'vue-eslint-parser',
    // 解析器的详细配置
    parserOptions: {
        // 使用最新版 ES 语法
        ecmaVersion: 'latest',
        // 使用 ESLint TS 解析器
        parser: '@typescript-eslint/parser',
        // 使用 ES 模块化规范
        sourceType: 'module'
    },
    // 使用的插件
    plugins: ['vue', '@typescript-eslint'],
    // 自定义规则
    rules: {
        '@typescript-eslint/no-unused-vars': 'off',
        indent: [
            'error',
            4,
            {
                SwitchCase: 1
            }
        ],
        'vue/multi-word-component-names': [
            'error',
            {
                ignores: ['index', 'Header'] //需要忽略的组件名
            }
        ],
        '@typescript-eslint/no-var-requires': 'off',
        '@typescript-eslint/no-explicit-any': 'off',
        semi: 'off',
        '@typescript-eslint/no-this-alias': 'off',
        'eslintno-debugger': 'off',
        'vue/no-unused-vars': 'off',
        'vue/no-template-shadow': 'off',
        'vue/require-v-for-key': 'off',
        'vue/no-textarea-mustache': 'off',
        'vue/no-v-html': 'off'
    }
};

3.配置下忽略文件eslintignore

在根目录下创建.eslintignore文件,排除一些文件夹

node_modules
*.md
.vscode
.idea
dist
/public
/docs
.husky
.local
/bin
Dockerfile
.eslintrc.js

4.配置package.json

然后配置下package.json中的启动命令,这样便可以执行 pnpm run lint:fix 来进行自动格式化代码。

  "scripts": {
    "dev": "vite --open",
    "test": "echo \"Error: no test specified\" && exit 1",
    "eslint:fix": "eslint --fix"
  },

2 prettier

1.安装 prettier 依赖

pnpm install -D prettier
pnpm install -D eslint-config-prettier eslint-plugin-prettier

2.创建.prettierrc.js 文件

module.exports = {
    "singleQuote": true,
    "semi": false,
    "bracketSpacing": true,
    "htmlWhitespaceSensitivity": "ignore",
    "endOfLine": "auto",
    "trailingComma": "all",
    "tabWidth": 2,
    
    "printWidth": 100,
    "useTabs": false,
    "bracketSameLine": true,
    "arrowParens": "always",
    "vueIndentScriptAndStyle": false,
    "singleAttributePerLine": false
  }

3.创建 .prettierignore 文件

dist/
node_modules/
.vscode/
.idea/
/public/*
.local
**/*.svg
**/*.sh

4.配置package.json

{
  "scripts": {
    "lint:prettier": "prettier --write **/*.{js,json,tsx,css,less,scss,vue,html,md}"
  }
}

附:如果ESLint和Prettier在某些规则上有冲突,。比如方法名和后面的括号之间的空格问题。ESLint 规则是添加空格,Prettier则是不添加空格

此时可以考虑在ESlint配置文件中关闭相关检测规则。

1、打开 .eslintrc.js 配置文件

2、在 rules 规则下,新增一条规则

'space-before-function-paren': 'off'

3、重启项目

至此,你即可在 VSCode 保存时,自动格式化代码!

总结 

到此这篇关于Vue3+TS项目中eslint、prettier安装配置的文章就介绍到这了,更多相关eslint、prettier安装配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 从Vue转换看Webpack与Vite 代码转换机制差异详解

    从Vue转换看Webpack与Vite 代码转换机制差异详解

    这篇文章主要为大家介绍了从Vue转换看Webpack与Vite代码转换机制差异详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • 一文详解Vue如何整合Echarts实现可视化界面

    一文详解Vue如何整合Echarts实现可视化界面

    ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上。本文将在Vue中整合Echarts实现可视化界面,感兴趣的可以了解一下
    2022-04-04
  • Vue实现录制屏幕并本地保存功能

    Vue实现录制屏幕并本地保存功能

    这篇文章主要介绍了Vue实现录制屏幕功能并本地保存,这里用的是用的是HBuilder X开发,结合示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • 如何巧用Vue.extend继承组件实现el-table双击可编辑(不使用v-if、v-else)

    如何巧用Vue.extend继承组件实现el-table双击可编辑(不使用v-if、v-else)

    这篇文章主要给大家介绍了关于如何巧用Vue.extend继承组件实现el-table双击可编辑的相关资料,不使用v-if、v-else,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • vue中的Canvas使用及说明

    vue中的Canvas使用及说明

    文章详细介绍了HTML5 Canvas的模板区、样式区和脚本区的使用方法,包括如何设置Canvas的宽高、水平居中、获取Canvas元素、绘制图形(直线、矩形、圆、文字)、转换为Base64、下载图片以及加载图片并添加文字水印等操作
    2025-10-10
  • vue中关于this.refs为空出现原因及分析

    vue中关于this.refs为空出现原因及分析

    这篇文章主要介绍了vue中关于this.refs为空出现原因及分析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • vue异步加载dom元素之后无法获得的解决

    vue异步加载dom元素之后无法获得的解决

    这篇文章主要介绍了vue异步加载dom元素之后无法获得的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • vue-cli创建的项目,配置多页面的实现方法

    vue-cli创建的项目,配置多页面的实现方法

    下面小编就为大家分享一篇vue-cli创建的项目,配置多页面的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • Vue中搭配Bootstrap实现Vue的列表增删功能

    Vue中搭配Bootstrap实现Vue的列表增删功能

    日常开发中,我们可以用 “拿来主义” 借助Bootstarp现成的一些样式,快速生成我们想要的页面布局,避免书写大量的HTML和CSS代码,省下了许多不必要的时间,可以直接搭配vue使用
    2022-11-11
  • vue中父子组件的参数传递和应用示例

    vue中父子组件的参数传递和应用示例

    这篇文章主要介绍了vue中父子组件的参数传递和应用示例,帮助大家更好的理解和使用vue框架,感兴趣的朋友可以了解下
    2021-01-01

最新评论