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安装配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mint UI实现A-Z字母排序的城市选择列表

    Mint UI实现A-Z字母排序的城市选择列表

    这篇文章主要为大家详细介绍了Mint UI实现A-Z字母排序的城市选择列表,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • Nginx部署Vue.js前端项目的实现

    Nginx部署Vue.js前端项目的实现

    本文主要介绍了Nginx部署Vue.js前端项目指南,帮助您实现从开发到线上部署的平滑过渡,确保用户能够获得最佳的访问体验,感兴趣的可以了解一下
    2024-09-09
  • vue3 座位选座矩阵布局的实现方法(可点击选中拖拽调换位置)

    vue3 座位选座矩阵布局的实现方法(可点击选中拖拽调换位置)

    由于公司项目需求需要做一个线上设置考场相关的座位布局用于给学生考机排号考试,实现教室考场座位布局的矩阵布局,可点击选中标记是否有座无座拖拽调换位置横向纵向排列,本文给大家分享实现代码,一起看看吧
    2023-11-11
  • vue项目启动端口更改的实现

    vue项目启动端口更改的实现

    在Vue前端项目中,可以通过修改配置文件来指定启动的端口号,本文就来介绍 一下vue项目启动端口更改的实现,感兴趣的可以了解一下
    2023-10-10
  • vue项目使用cdn加速减少webpack打包体积

    vue项目使用cdn加速减少webpack打包体积

    通过压缩代码的手段可减小网络传输的大小,但实际上最影响用户体验的还是网页首次打开时的加载等待,其根本原因是网络传输过程耗时较大,这篇文章主要给大家介绍了关于vue项目使用cdn加速减少webpack打包体积的相关资料,需要的朋友可以参考下
    2022-08-08
  • vue基于input实现密码的显示与隐藏功能

    vue基于input实现密码的显示与隐藏功能

    这篇文章主要介绍了vue基于input实现密码的显示与隐藏功能,文末给大家介绍了vue 如何实现切换密码的显示与隐藏效果,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-01-01
  • 使用vue-cli脚手架工具搭建vue-webpack项目

    使用vue-cli脚手架工具搭建vue-webpack项目

    这篇文章主要介绍了使用vue-cli脚手架工具搭建vue-webpack项目,通过几个默认的步骤帮助你快速的构建Vue.js项目。非常具有实用价值,需要的朋友可以参考下
    2019-01-01
  • vue.js中关于点击事件方法的使用(click)

    vue.js中关于点击事件方法的使用(click)

    这篇文章主要介绍了vue.js中关于点击事件方法的使用(click),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • vue.js引入外部CSS样式和外部JS文件的方法

    vue.js引入外部CSS样式和外部JS文件的方法

    这篇文章主要介绍了vue.js引入外部CSS样式和外部JS文件的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Vue2.0实现自适应分辨率

    Vue2.0实现自适应分辨率

    这篇文章主要为大家详细介绍了Vue2.0实现自适应分辨率,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11

最新评论