vue基础ESLint Prettier配置教程详解

yizhihongxing

以下是“vue基础ESLint Prettier配置教程详解”的完整攻略。

什么是ESLint和Prettier

ESLint是一个开源的JavaScript Lint工具,用于识别和报告代码中的模式。它支持ES6语法和JSX语法,并插件化。对于样式一致性和错误检查等非常有用。它可以直接集成到IDE中,可以在保存时自动进行formatting和代码规范的检查和修复。

Prettier是一个代码格式化的工具,可以自动调整代码的样式,比如空格、换行、引号等等。它是高度可配置的,可以与ESLint很好地协作,比如对于一些风格问题,可以通过ESLint进行检查并通过Prettier自动完成修复。

配置过程和步骤

第一步:安装依赖

首先,我们需要安装相关依赖。

npm install eslint eslint-plugin-vue  prettier eslint-config-prettier eslint-plugin-prettier husky lint-staged --save-dev
  • eslint - ESLint核心库
  • eslint-plugin-vue - vue的eslint插件
  • prettier - 代码格式化工具
  • eslint-config-prettier - 将Prettier输出的格式化规则禁用ESLint中与之冲突的部分
  • eslint-plugin-prettier - 对Prettier的配置进行包装,在ESLint中作为规则使用
  • husky - 类似于git hooks的工具,用于在代码提交前进行相关的检查和操作
  • lint-staged - 可以让我们只在提交代码发现改变的文件进行代码检查

第二步:创建.eslintrc.js文件

在项目的根目录下创建.eslintrc.js文件,并在其中配置ESLint的规则和插件以及与Prettier的协同工作关系。

module.exports = {
  root: true,
  env: {
    node: true,
  },
  extends: [
    'plugin:vue/essential',
    'eslint:recommended',
    '@vue/prettier',
    '@vue/typescript',
    'prettier',
    'prettier/vue',
  ],
  plugins: ['prettier'],
  parserOptions: {
    ecmaVersion: 2020,
    parser: '@typescript-eslint/parser',
  },
  rules: {
    'prettier/prettier': 'error',
    'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
  },
};
  • root - 必须设置为“true”,表示该文件为config文件,停止在父文件夹中寻找
  • env - 环境设置
  • extends - 扩展配置,包含的是eslint-config-prettierplugin:vue/prettier
  • parser - 代码解析器
  • parserOptions - 附加规则
  • plugins - ESLint插件
  • rules - 要执行的规则

第三步:创建 .prettierrc.js 文件

module.exports = {
  singleQuote: true,
  semi: true,
  trailingComma: 'all',
  printWidth: 80,
};

以上的代码表示,我们启用了单引号、分号和所有尾随逗号。

第四步:添加husky和pre-commit配置

我们可以在package.json文件中添加以下内容

  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{js,vue,ts}": [
      "eslint --fix",
      "prettier --write"
    ]
  }

这段代码表示在即将提交代码之前,执行lint-staged命令,检查所遇到的所有js,vue,ts文件,如果存在ESLint或Prettier规则,就更新它们的样式。

示例1:在VS Code中使用 ESLint 和 Prettier

在VS Code中,我们还可以使用基于插件的方式使得我们不用在终端输入很多命令。首先,我们需要安装以下两个VS Code插件:

  • ESLint:搜索ESLint插件并安装到VS Code。
  • Prettier:搜索Prettier插件并安装到VS Code。

接下来,我们需要配置VS Code,打开 settings.json 文件,加入以下代码:

  "editor.formatOnSave": true, // 每次文件保存时,格式化文件
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    "vue",
    "typescript",
    "typescriptreact"
  ],
  "prettier.eslintIntegration": true, // 让Prettier使用ESLint的代码样式规则进行格式化
  "vetur.format.defaultFormatter": {
    "html": "js-beautify-html",
    "css": "prettier",
    "postcss": "prettier",
    "scss": "prettier",
    "less": "prettier",
    "js": "prettier",
    "ts": "prettier",
    "stylus": "stylus-supremacy"
  }

示例2:在vue-cli项目中配置ESLint和Prettier

在vue-cli项目中,我们只需要进行如下配置即可:

package.json文件中加入以下代码:

{
  "scripts": {
    "lint": "eslint --ext .js,.vue src",
    "lint:fix": "eslint --fix --ext .js,.vue src"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended",
      "@vue/prettier"
    ],
    "parserOptions": {
      "parser": "babel-eslint"
    }
  },
  "prettier": {
    "singleQuote": true,
    "semi": true,
    "trailingComma": "es5"
  }
}

然后,在控制台中执行命令:

npm install --save-dev eslint-config-prettier eslint-plugin-prettier

这一步将安装Prettier插件和与ESLint一起运行的包装器。

最后,我们在index.js或者其他主文件的<script>中加入以下注释:

/* eslint-disable */
// Some code.
/* eslint-enable */

这告诉ESLint忽略此段代码。

以上就是vue基础ESLint Prettier配置教程的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue基础ESLint Prettier配置教程详解 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • vue.js中Vue-router 2.0基础实践教程

    下面是“vue.js中Vue-router 2.0基础实践教程”的完整攻略: 什么是Vue-router? Vue-router是Vue.js官方的路由管理器。它与Vue.js深度集成,可以非常方便地实现单页应用中的路由跳转、参数传递、路由拦截等功能。Vue-router的核心概念包括路由、参数、钩子、子路由等。 安装和使用Vue-router 安装Vue-…

    Vue 2023年5月28日
    00
  • Vue中的components组件与props的使用解读

    我将为你详细讲解“Vue中的components组件与props的使用解读”的完整攻略。 什么是Vue中的Components组件? 在Vue中,Components组件是由一些代码块组成的独立实体,它可以被单独使用,也可以被多次重复使用。通过组合构建Vue的组件树,可以实现高效、灵活的开发。 一个Vue组件通常包括三个部分: 模板:用于定义组件的结构,样式…

    Vue 2023年5月27日
    00
  • 关于vue组件的更新机制 resize() callResize()

    Vue.js组件更新机制是主要的知识点之一,正确理解组件的更新机制,有助于我们更好地组织和管理Vue组件,提高Vue.js开发的效率。其中,resize()和callResize()是Vue.js组件更新机制的两个关键点,它们具体所代表的含义和作用在下面进行详细解释。 Vue组件的更新机制概述 Vue.js采用了渐进式的开发方式,组件是Vue.js中最基本的…

    Vue 2023年5月27日
    00
  • Vue 2.0 基础详细

    Vue 2.0 基础详细攻略 Vue.js是一款流行的JavaScript框架,它可以使我们更容易地编写可重用的组件以及可交互的应用程序。Vue 2.0是Vue.js的最新版本,它具有更高的性能和更好的开发体验。在本文中,我们将介绍Vue.js 2.0的基础知识和相关概念,以及如何使用Vue.js 2.0构建现代Web应用程序。 Vue.js基础 Vue.j…

    Vue 2023年5月27日
    00
  • vue打印插件vue-print-nb的实现代码

    下面详细讲解一下vue打印插件vue-print-nb的实现代码的攻略。 1. 确认安装 首先需要确认已经在vue项目中安装了vue-print-nb插件,确认方法可通过以下命令进行: npm list vue-print-nb 如果已经正确安装,则可查看到vue-print-nb以及其依赖项在项目文件夹中的位置。 2. 使用vue-print-nb插件 接…

    Vue 2023年5月27日
    00
  • 使用vue3实现一个人喵交流小程序

    下面是使用Vue3实现一个人喵交流小程序的完整攻略。 准备工作 在开始实现之前,我们需要完成以下准备工作: 安装 Node.js(版本需>=14)以及 npm(或者使用 yarn); 在命令行中安装 Vue CLI 3:npm install -g @vue/cli。 创建项目 使用 Vue CLI 3 创建一个新的项目: vue create cat…

    Vue 2023年5月27日
    00
  • vue 3 中watch 和watchEffect 的新用法

    下面我就来讲解 “Vue 3 中 watch 和 watchEffect 的新用法” 的完整攻略。 1. 简介 在Vue 3中,watch 和 watchEffect 的用法得到了很大的改进。 在Vue 2中,watch 选项和 watch 函数要么立即执行要么需要手动设置 immediate 选项才能立即执行。如果你只是需要在数据变化时立即执行一段代码,那…

    Vue 2023年5月28日
    00
  • vue3.x源码剖析之数据响应式的深入讲解

    Vue3.x源码剖析之数据响应式的深入讲解 简介 本文将深入讲解Vue3.x响应式原理,包含以下内容: 什么是响应式 Vue2.x的响应式实现 Vue3.x的响应式实现 Vue3.x的响应式能力扩展 什么是响应式 简单来说,响应式是指当某个数据发生变化时,相关的代码会自动触发更新,以保证用户界面与数据的同步。 在前端开发中,响应式是非常重要的概念。Vue就是…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部