非常规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 一样要自己去添加

相关文章
|
10天前
|
JavaScript
vue使用iconfont图标
vue使用iconfont图标
70 1
|
21天前
|
JavaScript 关系型数据库 MySQL
基于VUE的校园二手交易平台系统设计与实现毕业设计论文模板
基于Vue的校园二手交易平台是一款专为校园用户设计的在线交易系统,提供简洁高效、安全可靠的二手商品买卖环境。平台利用Vue框架的响应式数据绑定和组件化特性,实现用户友好的界面,方便商品浏览、发布与管理。该系统采用Node.js、MySQL及B/S架构,确保稳定性和多功能模块设计,涵盖管理员和用户功能模块,促进物品循环使用,降低开销,提升环保意识,助力绿色校园文化建设。
|
2月前
|
JavaScript API 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
8月前
|
JavaScript API
【vue实战项目】通用管理系统:api封装、404页
【vue实战项目】通用管理系统:api封装、404页
85 3
|
8月前
|
人工智能 JavaScript 前端开发
毕设项目-基于Springboot和Vue实现蛋糕商城系统(三)
毕设项目-基于Springboot和Vue实现蛋糕商城系统
|
8月前
|
JavaScript Java 关系型数据库
毕设项目-基于Springboot和Vue实现蛋糕商城系统(一)
毕设项目-基于Springboot和Vue实现蛋糕商城系统
206 0
|
8月前
|
JavaScript 前端开发 API
Vue3+Vite+TypeScript常用项目模块详解
现在无论gitee还是github,越来越多的前端开源项目采用Vue3+Vite+TypeScript+Pinia+Elementplus+axios+Sass(css预编译语言等),其中还有各种项目配置比如eslint 校验代码工具配置等等,而我们想要进行前端项目的二次开发,就必须了解会使用这些东西,所以作者写了这篇文章进行简单的介绍。
162 0
Vue3+Vite+TypeScript常用项目模块详解
|
8月前
|
设计模式 JavaScript
探索 Vue Mixin 的世界:如何轻松复用代码并提高项目性能(上)
探索 Vue Mixin 的世界:如何轻松复用代码并提高项目性能(上)
探索 Vue Mixin 的世界:如何轻松复用代码并提高项目性能(上)
|
8月前
|
前端开发 JavaScript Java
毕业设计|基于SpringBoot+Vue的科研课题项目管理系统
毕业设计|基于SpringBoot+Vue的科研课题项目管理系统
212 1
|
8月前
|
JavaScript 前端开发
报错:关于Vue项目下载swiper插件时没有dist文件夹的问题
报错:关于Vue项目下载swiper插件时没有dist文件夹的问题
149 0

热门文章

最新文章

下一篇
开通oss服务