借助工具优化开发流程,提升开发体验

背景

最近在做一个demo,只有一个html页面,需要开启一个https web server,以此来实现在浏览器中访问。

改造前

改造前,每次修改文件保存后都要刷新一下浏览器。 如果只是短时间,每次修改后手动刷新浏览器也还行。主要是这个demo要做好几天,甚至几个星期。每次修改保存后都要手动刷新,难免会让人有点烦躁。

改造后

之前启动web server使用的一个叫 anywhere 的nodejs库,可以将当前目录当作web服务的根目录启动。

改造后,使用了browser-sync 这个库,记住socket支持多端热更新,并且也支持将当前目录或当前目录的特定文件 放到web server中 启动。
支持https访问。
而且还提供了一个 web配置页面。 可以说使用体验非常友好。

启动命令

browser-sync start --server --files "*.html,*.css,*.js" --https

改造刷新后还需要选择串口

由于我的html demo需要与串口进行通信,所有使用程序前都需要选择串口,如下图
在这里插入图片描述

一次两次还行,再多了我就要想办法偷懒了。将第一次选择的串口信息保存到本地,下次进入程序,自动链接不就得了嘛。

稍微改造一下。

// 将第一次链接的串口信息保存到本地port = await navigator.serial.requestPort();const portInfo = { name: port.getInfo().usbVendorId }; // 使用getInfo()来获取信息localStorage.setItem('lastUsedPort', JSON.stringify(portInfo));// 再次进入程序后,获取上一次保存的串口信息,从可用串口中筛选出需要链接的。
const savedPortInfo = JSON.parse(localStorage.getItem('lastUsedPort'));
if (savedPortInfo) {const ports = await navigator.serial.getPorts();const previouslyUsedPort = ports.find(port => port.getInfo().usbVendorId === savedPortInfo.name);if (previouslyUsedPort) {// 提示用户是否想要连接到此端口console.log("发现之前使用的端口,尝试连接...");port = previouslyUsedPort}
}

这样流程一优化,效率 蹭蹭蹭地往上涨。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/730043.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++:Stack和Queue的模拟实现

创作不易,感谢三连! 一、容器适配器 适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结),该种模式是将一个类的接口转换成客户希望的另外一个接口。 就如同是电源适配器将不适用的交流电…

day04-Maven

一、初识 Maven Maven 是 Apache 旗下的一个开源项目,是一款用于管理和构建 java 项目的工具。 官网:https://maven.apache.org/ Maven的作用 依赖管理(方便快捷的管理项目依赖的资源(jar包),避免版本冲突问题)统一项目…

想开发苹果群控软件?先了解这些代码!

随着智能设备的普及,群控软件的需求日益增加,特别是针对苹果设备的群控软件,因其出色的性能和广泛的用户基础,受到了开发者们的青睐。 然而,开发一款功能强大的苹果群控软件并非易事,需要深入了解苹果的开…

获取C语言语句对应的汇编码和机器指令

借助IDE的调试功能 以CodeBlocks为例,先设置断点,然后点击红色三角形调试。 然后选择Debug➡ Debugging Windows➡Disassembly 就可以看到了 使用命令行 在工程文件中,一般可以找到一个.o文件。如果没有,可以先在program.c的目录下…

掌握java中继承

目录 1.概念: 2.使用: 3.super关键字 4.子类构造方法 5.super和this关键字 6.初始化时代码块的执行顺序 7.继承的方式 8.final关键字 1.概念: 是面向对象程序设计代码可以重复使用的重要手段,允许程序员在保持原有类特性的…

git入门到精通

第3章 Git常用命令 3.1 设置用户签名 3.2 初始化本地库 3.3 查看本地 状态 3.3.1 首次查看(工作区没有任何文件) 3.3.2 新增文件(hello.txt) 3.3.3 再次查者(检測到末追踪的文件) 3.4添加暫存区 3…

java常用排序算法——冒泡排序,选择排序概述

前言: 开始接触算法了,记录下心得。打好基础,daydayup! 算法 算法是指解决某个实际问题的过程和方法 排序算法 排序算法指给混乱数组排序的算法。常见的有:冒泡排序,选择排序 冒泡排序: 冒泡排序指在数组…

python界面开发 - Label 提示框

文章目录 1. Label 提示框1.1. 显示文本1.2. 修改Label的文本1.2.1. 方式1:通过label.config()1.2.2. 方式2:通过 label["text"] 属性进行修改 1.3. 设置背景图片 2. Tkinter 开发3. python图形界面开发3.1. Python图形界面开发——Tkinter3.2…

简单认识Linux

今天带大家简单认识一下Linux,它和我们日常用的Windows有什么不同呢? Linux介绍 Linux内核&发行版 Linux内核版本 内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与…

基于java+springboot+vue实现的宠物健康咨询系统(文末源码+Lw)23-206

摘 要 本宠物健康咨询系统分为管理员还有用户两个权限,管理员可以管理用户的基本信息内容,可以管理公告信息以及宠物健康知识信息,能够与用户进行相互交流等操作,用户可以查看宠物健康知识信息,可以查看公告以及查看…

说说flexbox(弹性盒布局模型)及适用场景?

文章目录 一、是什么二、属性flex-directionflex-wrapflex-flowjustify-contentalign-itemsalign-contentorderflex-growflex-basisflexalign-self 三、应用场景参考文献 一、是什么 Flexible Box 简称 flex,意为”弹性布局”,可以简便、完整、响应式地…

【Bugs】java: 错误: 不支持发行版本 xx

文章目录 报错场景:报错原因:解决方法: 报错场景: IDEA运行Java项目报错,点击运行之后,IDEA在编译代码的时候就出现报错: 报错类型一:java: 错误: 不支持发行版本 21报错类型二&am…

python72-Python的函数入门,为函数提供文档

之前介绍过可以使用Python内置的help()函数查看其他函数的帮助文档,我们也经常通过help()函数查看指定函数的帮助信息,这对于Python开发者来说非常重要。 我们还可以为函数编写说明文档一只要把一段字符串放在函数声明之后、函数体之前,这段字符串将被作…

SAP金江、阎韶华、雷凡将出席“第四届ISIG-RPA、低代码、流程挖掘三大峰会

3月16日,第四届「ISIG中国产业智能大会」将在上海中庚聚龙酒店拉开序幕。本届大会由苏州市金融科技协会指导,企智未来科技(RPA中国、AIGC开放社区、LowCode低码时代)主办。大会旨在聚合每一位产业成员的力量,深入探索R…

【C语言】InfiniBand驱动mlx4_init和mlx4_cleanup

一、中文注释 Linux内核模块的初始化和清理过程,针对一个称为mlx4的网络设备驱动。以下是代码的逐行中文注释: static int __init mlx4_init(void) {int ret;if (mlx4_verify_params())return -EINVAL; // 检查设备参数是否有效,无效则返回…

如何做好【沟通】管理

目录 管理的定义 管理的四大职能: 四共团队: 领导力: 沟通的四种类型听、说、读、写(计划、报告) 沟通四原则 思维框架:结构树报告 管理的定义 彼得.德鲁克:管理通过他人去完成任务的学…

【Neo4j系列】Neo4j之CQL语句和函数介绍

本文将对Neo4j中的CQL语句和CQL函数进行详细介绍。 作者:后端小肥肠 目录 1. 前言 2. CQL语句 2.1. CQL简介 2.2. CREATE命令 2.3. MATCH命令 2.4. RETURN命令 2.5. MATCH和RETURN 2.6. CREATEMATCHRETURN命令 2.7. 关系基础 2.8. CREATE创建标签 2.9. WH…

面试高频 牛群的位置排序---搜索插入位置

题目描述 农场里有一群牛,每头牛都有一个标签值,这些标签值组成一个升序排列的数组 labels。现在农场主想知道,给定一个目标标签值 target,如果在牛群中存在这个标签,返回它的位置,如果不存在,…

vscode 配置opengl (glut), lib链接可参考

这里假定你已经配置好基础的vscode c环境 json介绍 这里其实主要配置的3种json, vscode其实就是通过launch.json和tasks.json来自动生成指令的 launch.json 这个用于启动程序用的,但是由于其可以指定preLaunchTask-即在启动之前需要做什么事情,所以这…

白嫖阿里云DSW做AI绘画的几点技巧(老鸟参考,新手免入)

白嫖方法就不说了,选择A10显卡或者V100显卡,能画些图,还能用三个月。可以感受一下顶级显卡的速度,当生产力工具肯定是不行的,毕竟5000个使用量用起来很快的。 问题一: 镜像版本选择-官方提供二个镜像&…