当前位置: 首页 > news >正文

05vue3实战-----配置项目代码规范

05vue3实战-----配置项目代码规范

  • 1.集成editorconfig配置
  • 2.使用prettier工具
    • 2.1安装prettier
    • 2.2配置.prettierrc文件:
    • 2.3创建.prettierignore忽略文件
    • 2.4VSCode需要安装prettier的插件
    • 2.5VSCod中的配置
    • 2.6测试prettier是否生效
  • 3.使用ESLint检测
    • 3.1VSCode需要安装ESLint插件
    • 3.2解决eslint和prettier冲突的问题:
    • 3.3测试
  • 4.git相关的代码规范

1.集成editorconfig配置

EditorConfig 有助于为不同 IDE 编辑器上处理同一项目的多个开发人员维护一致的编码风格。
新建.editorconfig文件,写入配置内容。具体的配置语法可以看https://editorconfig.org/。

# http://editorconfig.orgroot = true[*] # 表示所有文件适用
charset = utf-8 # 设置文件字符集为 utf-8
indent_style = space # 缩进风格(tab | space)
indent_size = 2 # 缩进大小
end_of_line = lf # 控制换行类型(lf | cr | crlf)
trim_trailing_whitespace = true # 去除行尾的任意空白字符
insert_final_newline = true # 始终在文件末尾插入一个新行[*.md] # 表示仅 md 文件适用以下规则
max_line_length = off
trim_trailing_whitespace = false

注意,VSCode需要安装一个插件—EditorConfig for VS Code,上述配置的内容才能生效。
在这里插入图片描述

2.使用prettier工具

Prettier是一款强大的代码格式化工具,支持 JavaScript、TypeScript、CSS、SCSS、Less、JSX、Angular、Vue、GraphQL、JSON、Markdown 等语言,基本上前端能用到的文件格式它都可以搞定,是当下最流行的代码格式化工具。

2.1安装prettier

npm install prettier -D

2.2配置.prettierrc文件:

  • useTabs:使用tab缩进还是空格缩进,选择false;
  • tabWidth:tab是空格的情况下,是几个空格,选择2个;
  • printWidth:当行字符的长度,推荐80,也有人喜欢100或者120;
  • singleQuote:使用单引号还是双引号,选择true,使用单引号;
  • trailingComma:在多行输入的尾逗号是否添加,设置为 none,比如对象类型的最后一个属性后面是否加一个,;
  • semi:语句末尾是否要加分号,默认值true,选择false表示不加;
  {"useTabs": false,"tabWidth": 2,"printWidth": 80,"singleQuote": true,"trailingComma": "none","semi": false
}

2.3创建.prettierignore忽略文件

/dist/*
.local
.output.js
/node_modules/****/*.svg
**/*.sh/public/*

这时候直接ctrl+S进行保存,会发现格式不对的代码并没有像.prettierrc文件中要求的那样子自动格式化。这是因为没有安装关于prettier的插件。

2.4VSCode需要安装prettier的插件

在这里插入图片描述
还是直接ctrl+S进行保存,还是不行。这是因为需要对vscode相应的配置。

2.5VSCod中的配置

  • 文件=>首选项=>设置=>format on save=> 勾选上
    在这里插入图片描述
  • 文件=>首选项=>设置=> editor default format=> 选择 prettier
    在这里插入图片描述
    此时,ctrl+S进行保存,会自动格式化。

2.6测试prettier是否生效

  • 方法一:在代码中保存代码;
  • 方法二:配置一次性修改的命令;
    在package.json中配置一个scripts:
 "prettier": "prettier --write ."

3.使用ESLint检测

在前面创建项目的时候,我们就选择了ESLint,所以Vue会默认帮助我们配置需要的ESLint环境。

3.1VSCode需要安装ESLint插件

在这里插入图片描述

3.2解决eslint和prettier冲突的问题:

比如eslint中配置的是使用单引号,而prettier使用的是双引号。这时候就会发生冲突。
我们解决的方法如下:
安装插件:(通过命令行创建项目时,如果选择使用prettier,那么这两个插件会自动安装)

npm install eslint-plugin-prettier eslint-config-prettier -D

之前初始化的.eslintrc.cjs文件如下:

/* eslint-env node */
require('@rushstack/eslint-patch/modern-module-resolution')
module.exports = {root: true,extends: ['plugin:vue/vue3-essential','eslint:recommended','@vue/eslint-config-typescript','@vue/eslint-config-prettier',],parserOptions: {ecmaVersion: 'latest'},
}

需要在该文件中的extends中追加一项,如下:

extends: ["plugin:vue/vue3-essential","eslint:recommended","@vue/typescript/recommended","@vue/prettier","@vue/prettier/@typescript-eslint",'plugin:prettier/recommended'//追加的],

这样子之后,当.eslintrc.cjs中的某个配置和.prettierrc.json文件中的配置冲突,则该配置项就以.prettierrc.json文件为准(这样子就不会发生冲突)

3.3测试

在main.ts追加一下代码,会爆红,提示是用了双引号。说明eslint配置成功。
在这里插入图片描述
按ctrl+S会自动调整:
在这里插入图片描述
但obj上会有黄色波浪线,这是一种警告提示。鼠标悬浮,有如下显示:

'obj' is assigned a value but never used.eslint@typescript-eslint/no-unused-vars

大致意思是这个obj在之后没有被用过。若想要这种情况下不出现黄色警告,就要在.eslintrc.cjs文件中配置来取消该提示。可以追加rules:

rules: {'@typescript-eslint/no-unused-vars': 'off'}

在这里插入图片描述
这样子就不会有警告了:
在这里插入图片描述

rules中还可以配置很多其它的规则,这里只是一个例子。

4.git相关的代码规范

我将在后续文章中专门讲述git Husky和git commit规范。

http://www.lryc.cn/news/532633.html

相关文章:

  • 八大排序算法细讲
  • 网络爬虫学习:借助DeepSeek完善爬虫软件,增加停止任务功能
  • docker安装es及分词器ik
  • 【论文阅读】On the Security of “VOSA“
  • Docker 国内最新可用镜像源20250205
  • (2025|ICLR,音频 LLM,蒸馏/ALLD,跨模态学习,语音质量评估,MOS)音频 LLM 可作为描述性语音质量评估器
  • 使用 CSS 实现透明效果
  • 4G核心网的演变与创新:从传统到虚拟化的跨越
  • 数据库系统概论的第六版与第五版的区别,附pdf
  • uniapp小程序自定义中间凸起样式底部tabbar
  • 自己实现的一个缓存数据库(搞着玩) .net Core/6/8/9
  • 在Qt中,slots 关键字有什么用?
  • 如何查看linux机器有几个cpu
  • Swoole如何处理内存泄漏
  • Llama最新开源大模型Llama3.1
  • Pixflow - CL-DJI Drone LUTs 120个大疆Drone无人机相机航拍电影级镜头LUT调色预设
  • 了解AI绘图,Stable Diffusion的使用
  • idea整合deepseek实现AI辅助编程
  • llama_index
  • Spring Boot统一异常拦截实践指南
  • Games104——游戏引擎Gameplay玩法系统:基础AI
  • stm32生成hex文件详解
  • 【Windows 开发NVIDIA相关组件】CUDA、cuDNN、TensorRT
  • AI大模型(二)基于Deepseek搭建本地可视化交互UI
  • 各种协议设计
  • DockerFile详细学习
  • Windows Docker笔记-简介摘录
  • TeamSpeak开黑频道加入 —— 点歌机器人 (细致讲解100%学会)
  • 2025简约的打赏系统PHP网站源码
  • 网络安全 | 零信任架构:重构安全防线的未来趋势