非常规Vue项目配置ESlint和Prettier

简介: 这里的非常规指的是,不是使用 `Vue Cli` 这种工具包去创建的项目,或者创建了但是没有加上 `ESlint` 的配置,比如下面这个

前言

这里的非常规指的是,不是使用 Vue Cli 这种工具包去创建的项目,或者创建了但是没有加上 ESlint 的配置,比如下面这个

"dependencies": {
  "ant-design-vue": "^3.2.13",
  "axios": "^1.1.2",
  "core-js": "^3.8.3",
  "vue": "^3.2.13",
  "vue-router": "^4.0.3",
  "vuex": "^4.0.0"
},
"devDependencies": {
  "@vue/cli-plugin-babel": "~5.0.0",
  "@vue/cli-plugin-router": "~5.0.0",
  "@vue/cli-plugin-vuex": "~5.0.0",
  "@vue/cli-service": "~5.0.0",
},

本篇文章不涉及 typescript 的配置

ESlint

ESlint 的配置需要安装以下包

npm install --save-dev eslint eslint-plugin-vue

ESlint 不必多说,eslint-plugin-vue 这个包请看文档,作用如下

This plugin allows us to check the <template> and <script> of .vue files with ESLint, as well as Vue code in .js files.

再创建 ESLint 的配置文件 .eslintrc.js

module.exports = {
  extends: ["plugin:vue/vue3-recommended"],
};

关于 eslint-config-vue 的配置选项可以参考文档

完成上面的操作后可以看到项目的 ESlint 已经生效了

IMG

Prettier

对于格式化,有些公司会采用 ESLint 去格式化,或者自动保存的时候去 ESlint 一下,但对于某些场景 ESlint 格式化不太好用,比如标签长度超过编辑器默认最大长度(120 个字符),ESlint 做不到自动换行和属性自动排列,所以格式化我选择 Prettier,而且我目前最常用的 IDE - webstorm 的默认格式化也是采用的 Prettier

Prettier 的配置需要安装以下包

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

eslint-config-prettier 这个库主要是用来解决和 eslint 的冲突,主要表现在你使用 IDE 的格式化快捷键之后会报一堆 ESLint 格式错误,参考文档

安装之后需要在 eslint 配置文件 .eslintrc.js 中加入下列语句

module.exports = {
  // ...
  extends: ["plugin:vue/vue3-recommended", "prettier"],
  // ...
};

使用 Prettier 格式化需要分 IDE 来讲

WebStorm

WebStormwindows 格式化快捷键是 Ctrl + Alt + L 默认使用的格式化包就是 Prettier,如果是只使用 ESLint 管理项目规范,很容易就有代码不一冲突,因为 ESLint 并不会对代码格式化做强制要求,但项目组每个人的写法可能很不一样,这时候 Commit 时就会很多冲突需要提交,类似下面这段代码,ESLint 是不会做任何修改的

  methods: {
    fun() {
      const type = ["string", "number", "undefined", "symbol", "boolean", "bigint", "null"];
    }
  }

但是 Prettier 会强制换行

methods: {
    fun() {
      const type = [
        "string",
        "number",
        "undefined",
        "symbol",
        "boolean",
        "bigint",
        "null",
      ];
    },
  },

诸如此类的细节还有很多,处理冲突时总是很麻烦,所以需要加入 Prettier 管理规范

下面是 WebStorm 配置 Prettier 的操作

安装插件

WebStorm 的插件市场下载 Prettier 插件

IMG

配置 Prettier 库的位置

文件 -> 设置 -> 语言和框架 -> Prettier 下拉选择你项目的 Prettier(注意是项目而不是全局的 Prettier !!!)

IMG

检查是否生效

  1. 使用 Prettier 插件快捷键格式化项目某一文件

    1. 文件 -> 设置 -> 键盘映射 -> 搜索 prettier,即可看到对应的快捷键映射
  2. 基于命令行终端 Prettier 格式化
  3. 检查两种格式化是否一致

如何使用终端的 Prettier?

npx prettier --write your-file-path

注意不要用到全局的 Prettier 而是项目的 Prettier !!!

NOTE: 可以通过查看 Prettier 版本来判断

# 全局安装的 Prettier 版本查看
prettier -v
# 项目的 Prettier 版本查看
npx prettier -v

注意

WebStormPrettier 格式化快捷键和 IDE 默认的快捷键不同

  1. 默认: Ctrl + Alt + L
  2. Prettier: Ctrl + Alt + Shift + P

有可能快捷键无效,可能原因有两种

  1. 和运行中的某个软件有热键冲突
  2. Prettier 没找到项目的包(也就是上面说的配置 Prettier 库的位置的操作)

下面是 VS Code 配置 Prettier 的操作

VS Code

安装插件

IMG

配置默认格式化

IMG

IMG

检查是否生效

  1. 使用 Prettier 插件快捷键格式化项目某一文件
  2. 基于命令行终端 Prettier 格式化
  3. 检查两种格式化是否一致

VS Code 配置 Prettier 的好处是会自动检索项目的 Prettier 包的位置,而不是像 WebStorm 一样要自己去添加

相关文章
|
8天前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤。通过这些工具,可以显著提升编码效率和代码质量。
104 4
|
6天前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码。通过安装和配置这些工具,可以确保代码风格一致,提高代码质量和可读性。
22 1
|
9天前
Vue3 项目的 setup 函数
【10月更文挑战第23天】setup` 函数是 Vue3 中非常重要的一个概念,掌握它的使用方法对于开发高效、灵活的 Vue3 组件至关重要。通过不断的实践和探索,你将能够更好地利用 `setup` 函数来构建优秀的 Vue3 项目。
|
9天前
|
JavaScript 测试技术 UED
解决 Vue 项目中 Tree shaking 无法去除某些模块
【10月更文挑战第23天】解决 Vue 项目中 Tree shaking 无法去除某些模块的问题需要综合考虑多种因素,通过仔细分析、排查和优化,逐步提高 Tree shaking 的效果,为项目带来更好的性能和用户体验。同时,持续关注和学习相关技术的发展,不断探索新的解决方案,以适应不断变化的项目需求。
|
存储 前端开发 JavaScript
为什么我不再用Vue,改用React?
当我走进现代前端开发行业的时候,我做了一个每位开发人员都要做的决策:选择一个合适的框架。当时正逢 jQuery 被淘汰,前端开发者们不再用它编写难看的、非结构化的老式 JavaScript 程序了。
|
10天前
|
数据采集 监控 JavaScript
在 Vue 项目中使用预渲染技术
【10月更文挑战第23天】在 Vue 项目中使用预渲染技术是提升 SEO 效果的有效途径之一。通过选择合适的预渲染工具,正确配置和运行预渲染操作,结合其他 SEO 策略,可以实现更好的搜索引擎优化效果。同时,需要不断地监控和优化预渲染效果,以适应不断变化的搜索引擎环境和用户需求。
|
2天前
|
JavaScript
Vue基础知识总结 4:vue组件化开发
Vue基础知识总结 4:vue组件化开发
|
2天前
|
存储 JavaScript
Vue 状态管理工具vuex
Vue 状态管理工具vuex
|
10天前
|
缓存 JavaScript 搜索推荐
Vue SSR(服务端渲染)预渲染的工作原理
【10月更文挑战第23天】Vue SSR 预渲染通过一系列复杂的步骤和机制,实现了在服务器端生成静态 HTML 页面的目标。它为提升 Vue 应用的性能、SEO 效果以及用户体验提供了有力的支持。随着技术的不断发展,Vue SSR 预渲染技术也将不断完善和创新,以适应不断变化的互联网环境和用户需求。
28 9
|
9天前
|
缓存 JavaScript UED
Vue 中实现组件的懒加载
【10月更文挑战第23天】组件的懒加载是 Vue 应用中提高性能的重要手段之一。通过合理运用动态导入、路由配置等方式,可以实现组件的按需加载,减少资源浪费,提高应用的响应速度和用户体验。在实际应用中,需要根据具体情况选择合适的懒加载方式,并结合性能优化的其他措施,以打造更高效、更优质的 Vue 应用。