vue + vite 使用onchange和prettier 进行文件变化监视和格式化

news/2024/5/21 2:21:08

在现代的前端开发中,文件的格式化和实时监视是一个必不可少的环节。为了提高开发效率,我们可以利用一些工具来自动化这个过程。本文将介绍如何使用 onchange 和 prettier 来监视文件变化并进行格式化。

concurrently和onchange

concurrently 是一个用于在命令行中同时运行多个命令的工具。它允许我们在一个终端窗口中并行运行多个命令,提高了开发过程中的效率。

onchange 是一个监视文件变化的工具,它可以检测指定文件的修改并触发相应的操作。我们可以利用 onchange 来监视文件的变化并执行格式化操作。

prettier和write

prettier 是一个代码格式化工具,它可以帮助我们保持代码的一致性和可读性。它支持多种编程语言,并提供了许多配置选项,以便根据个人或团队的偏好进行定制。

prettier 的 --write 选项用于在原始文件上进行格式化,并将格式化后的结果写回到原始文件中。这意味着当文件发生变化时,我们可以使用 prettier --write 命令自动格式化修改后的文件,而不是生成一个新的格式化文件。

安装依赖

首先,我们需要在项目中安装所需的依赖项。通过以下命令安装 concurrentlyonchangeprettier

npm install concurrently onchange prettier --save-dev

配置package.json

接下来,我们需要在 package.json 文件中配置一个 dev 脚本,用于并行运行 onchange 和其他命令。

在 scripts 部分添加以下内容:

"scripts": {"dev": "concurrently \"onchange '**/*.{js,jsx,ts,tsx,vue,less,md,json}' -- prettier --write '{{changed}}'\" \"vite\""
}

在上述代码中,我们使用了 concurrently 来同时运行两个命令。第一个命令使用 onchange 来监视指定类型的文件变化,并在文件变化时运行 prettier --write 进行格式化。{{changed}} 是 onchange 提供的占位符,表示发生变化的文件。

Prettier配置

在项目根目录下创建一个 .prettierrc 文件,用于配置 prettier。

在 .prettierrc 文件中,我们可以指定 prettier 的配置选项,例如缩进大小、换行符风格、引号类型等。根据个人或团队的编码规范,可以进行相应的定制。

以下是一个示例的 .prettierrc 配置文件:

{"tabWidth": 2,"useTabs": false,"singleQuote": true,"trailingComma": "all"
}

上述配置将使用 2 个空格作为缩进,使用单引号而不是双引号,以及在多行结尾添加逗号。

运行开发环境

现在,我们可以运行以下命令启动开发环境

npm run dev

运行上述命令后,onchange 会监视指定类型的文件变化,并在文件发生变化时自动运行 prettier --write 进行格式化。同时,vite 也会启动开发服务器,以便我们可以实时预览和调试应用程序。

通过这种方式,我们可以在开发过程中保持代码的一致性,并实时查看应用程序的变化。

总结

本文介绍了如何使用 onchange 和 prettier 来实现文件变化监视和格式化。通过配置 package.json 中的 dev 脚本,我们可以使用concurrently 同时运行 onchange 和其他命令,从而实现文件变化时的自动格式化和开发服务器的实时预览。使用 prettier --write 命令可以在原始文件上进行格式化,并将格式化后的结果写回到原始文件中。我们还可以根据个人或团队的偏好使用 .prettierrc 文件进行 prettier 的配置,以满足特定的格式化需求。


http://www.mrgr.cn/p/06532185

相关文章

nginx--压缩https证书favicon.iconginx隐藏版本号 去掉nginxopenSSL

压缩功能 简介 Nginx⽀持对指定类型的⽂件进行压缩然后再传输给客户端,而且压缩还可以设置压缩比例,压缩后的文件大小将比源文件显著变小,这样有助于降低出口带宽的利用率,降低企业的IT支出,不过会占用相应的CPU资源…

VBA_NZ系列工具NZ06:VBA创建PDF文件说明

我的教程一共九套及VBA汉英手册一部,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到数据库,到字典,到高级的网抓及类的应用。大家在学习的过程中可能会存在困惑,这么多知识点该如何组织…

ssrf漏洞学习——基础知识

一、SSRF是什么? SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。 一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能…

《架构风清扬-Java面试系列第29讲》聊聊DelayQueue的使用场景

DelayQueue是BlockingQueue接口的一个实现类之一 这个属于基础性问题,老规矩,我们将从使用场景和代码示例来进行讲解 来,思考片刻,给出你的答案 1,使用场景 实现:延迟队列,其中元素只有在其预定…

layui的treeTable组件,多层级上传按钮失效的问题解决

现象描述: layui的treeTable 的上传按钮在一层能用,展开后其他按钮正常点击,上传按钮无效。 具体原因没有深究,大概率是展开的子菜单没有被渲染treeTable的done管理到,导致没有重绘上传按钮。 解决方案: 不使用layu的上传组件方法…

springboot+vue快速部署前后台项目,无需服务器

问题 前言 我们都知道,现在的主流开发大多数为,前后端分离,目前流行的框架,大多数是spring boot+element ui 这些框架,这无疑是给开发部署项目带来了便利,我们后台开发无需关心前端如何部署的,前端同样也无需关系后台如何部署,只需要确认能够访问即可。 存在有如下问题…

DDR5和LPDDR4/5 命令解析

关键名称介绍 DDR5 SDRAM和LPDDR4/5都采用了高级的命令集来支持更高效的内存管理和操作,其中“Multi-purpose command (MPC)”、“Mode Register Read (MRR)”、“Mode Register Write (MRW)”,以及“Write Pattern Command”是几种关键的命令类型,它们在内存初始化、配置和…

大型语言模型的新挑战:AMR语义表示的神秘力量

DeepVisionary 每日深度学习前沿科技推送&顶会论文&数学建模与科技信息前沿资讯分享,与你一起了解前沿科技知识! 引言:AMR在大型语言模型中的作用 在自然语言处理(NLP)的领域中,抽象意义表示&…

HBM供不应求,SK海力士称2025年订单都几乎售罄

【科技明说 | 科技热点关注】 据外媒报道,SK海力士透露公司今年的HBM产能已经全部售罄,明年订单也基本售罄。此外,SK海力士预计在2024年5月提供世界最高性能的12层堆叠HBM3E产品的样品,并准备在第三季度开始量产。 ​…

项目打包与上线

目录1.修改好上线环境中的请求地址2.打包项目3.连接服务器4.配置nginx代理5.上线成功 1.修改好上线环境中的请求地址2.打包项目进入项目根目录,输入npm run build解决报错问题 当我们无法解决多而烦的ts检查报错时,可以在项目中的package.json文件中把下图中原本的红色框内容…

西门子数控网络IP设定配置

总结:menuselect-诊断-屏幕下方右翻页找到tcp/ip,进去选择tcp/ip诊断,进去选择x130网口,点击更改, 如果没有更改,menuselect-调试-口令,输入口令 sunrise 然后重新配置tcp/ip,配置完…

npm报错 dev @vue/eslint-config-standard@^6.1.0 from the root project

参考:https://blog.csdn.net/weixin_65398435/article/details/126419711 我新建了个项目,然后执行 npm i 但是报错,如下图看了个老哥的解答,直接执行 npm install npm@6.14.15 -g npm i 成功!

实景三维技术在城市运行状态监测方面的应用

随着城市化步伐的加快,城市规模日益扩大,对于城市运行状态的实时监控需求愈发迫切。传统的监控手段已无法满足现代城市管理的精细化和高效化要求。而实景三维技术的崛起,为城市运行状态实时监控注入了新的活力,带来了新的机遇与挑战。实景三维技术,这一基于三维激光扫描和…

Microsoft Visual Studio 小tips

1、打开文件,资源文件夹默认追踪

基于 Spring Boot 博客系统开发(七)

基于 Spring Boot 博客系统开发(七) 本系统是简易的个人博客系统开发,为了更加熟练地掌握 SprIng Boot 框架及相关技术的使用。🌿🌿🌿 基于 Spring Boot 博客系统开发(六)&#x1f…

ES数据存储与查询基本原理

Elasticsearch(ES)简介 Elasticsearch(ES)是一个分布式、可扩展、近实时的搜索和分析引擎,它基于Lucene,设计用于云计算中,处理大规模文档检索和数据分析任务,常用于实现内部搜索引…

开源框架平台:功能优势多,助力数字化转型!

对于什么是开源框架平台,以及它的优势和特点,我们今天就一起来了解和探讨。伴随着科技越来越发达,低代码技术平台、开源框架平台逐渐在各中小型企业里获得重视和青睐,成为助力企业实现流程化办公,进入数字化转型的的有力武器。在众多服务商中,谁拥有市场竞争力,谁在服务…

配置orangepi5pro运行rknn版本的yolov5

配置orangepi5pro运行rknn版本的yolov5,使用npu进行目标检测.摘要 配置orangepi5pro运行rknn版本的yolov5,使用npu进行目标检测. 关键信息板卡:orangepi5pro 芯片:RK3588S 环境:rknn2 转换工具:rknn-tool-kit2:1.5.0 系统:ubuntu20.04原理简介 npu简介 NPU(Neural Processing …

双目相机标定流程(MATLAB)

一:经典标定方法 1.1OPENCV 1.2ROS ROS进行双目视觉标定可以得到左右两个相机的相机矩阵和畸变系数,如果是单目标定,用ROS会非常方便。 3.MATLAB标定(双目标定) MATLAB用来双目标定会非常方便,主要是为…