- 博客(198)
- 收藏
- 关注
原创 vue项目部署自动检测更新,主要解决页面长时间停留不关闭的问题。
当我们重新部署前端项目的时候,如果用户一直停留在页面上并未重新打开浏览器页面,会存在功能使用差异性的问题,因此,当前端部署项目后,需要提醒用户有去重新加载页面。HTTP 的 HEAD 方法是一种请求方法,功能与 GET 方法类似,但区别在于它 只请求响应的头部信息,而不获取响应体内容。请求方式大大减小了服务器的压力,并且请求放在了 worker 里面,这样也不会影响主进程的流程。这样我们就可以通过轮询请求项目地址,判断响应头的 ETag 字段是否改变来通知用户项目已经更新,然后让用户刷新页面。
2024-12-05 14:34:01
230
原创 如何在 Vben Admin 5.0 里面使用 unplugin-vue-components 自动导入 element plus
当我们配置好自动导入的时候,我们会遇到一个问题,那就是切换主题的时候,无论怎么切换都是白色主题,无法切换到暗黑主题。我之前就写过一遍介绍配置自动导入的文章,我就不在重复的写了,可以点击下面的链接去看一下。在 Vben Admin 里面切换主题的代码主要在这几个文件,文件路径在。方法,将选择器修改为 body,也就是加强css的优先级,就可以覆盖掉。作者的回复是尊重每个开发者的习惯,如果需要就自己去配置。这个插件的功能只是在你导入组件的时候自动导入。可以看到,使用了自动导入之后主题变得不对了。
2024-12-04 20:23:40
711
原创 canvasToTempFilePath: fail canvas is empty. 微信小程序 canvas 报错
在小程序中,使用 canvasToTempFilePath 方法将 canvas 内容保存为临时文件时,有时会遇到 “fail canvas is empty” 的错误。既然你遇到了这个问题,那么你一定会遇到绘制图片时没有任何内容绘制到 canvas 上的问题。里面使用了 canvas ,这个时候就需要在调用 api 的时候指定 this。遇到这个问题,很大的概率是在。
2024-10-17 16:33:39
2553
原创 原生小程序 extendClasses 如何使用
因为在 vue 和 uniapp 里面,只要编写了样式穿透组件内部的父盒子选择器,那么父盒子里面的元素我可以随便修改样式。但是在小程序里面,这种样式是无效的,因为外部样式类不支持嵌套选择器。必须放到你需要修改的标签上。比如下面,修改你的组件文件,把。, 文档其实写的比较清楚了。需要注意的点是,外部样式类是不支持嵌套选择器的。因为我写 uniapp 多一些,可能是因为习惯遇到了下面的问题。修改到你需要修改的标签上, 一对一的修改。
2024-10-08 18:00:15
642
原创 在 NodeJs 里面如何获取 APK 的名称和 icon
(Android Asset Packaging Tool)是 Android 开发工具链中的一个重要工具,主要用于打包和处理 Android 应用程序中的资源文件。其实不仅仅可以获取到 apk 的名称,具体的内容可以自己打印一下查看。最近想用 electron 写一个 adb 的可视化客户端,在展示安装的应用时遇到了如何获取 APK 的名称和 icon 的问题。在这里默认大家已经下载好 apk, 其实就算是连接手机也是一样的,只不过是把 apk 下载到本地,然后读取本地的 apk 文件。
2024-09-29 17:00:03
889
原创 在 macOS 上安装 ADB给安卓手机装APK,同样适用智能电视、车机
Homebrew 是 macOS 上常用的包管理工具。记住,在使用 ADB 命令时,确保你的 Android 设备已经连接并开启了 USB 调试模式。替换为你要安装的 APK 文件的实际路径。如果设备列出,则说明 ADB 连接正常。替换为你要卸载的应用程序的包名。打开终端(Terminal)。目录下保存一张屏幕截图。
2024-09-19 13:25:02
1315
2
原创 别用 npm config set registry 设置淘宝镜像了!!!
我相信大部分人都会用这个命令来切换淘宝镜像。我之前也是,我有一个问题那就是我每当想切换镜像的时候都会搜一下淘宝npm镜像。因为我大部分时候都会忘记这个命令是什么样子的。选中我们开发者最爱的淘宝镜像宝贝,然后我们就可以享受高速下载的快感了。当然你也可以选择别的哦。, 你就能看到所有的镜像源列表。这么多选项总有适合你的吧。nrm 还有别的命令,可以自己去探索一下。,妈妈再也不会为我切换镜像担心了。安装好这个大宝贝,然后执行。
2024-09-14 17:16:44
873
原创 127.0.0.1和0.0.0.0的区别
回环地址 (127.0.0.1:仅限本机访问,适用于本地开发和测试。通配符地址 (0.0.0.0:允许从任何 IP 地址访问,适用于需要对外公开的服务。
2024-09-12 17:48:29
752
原创 多人开发小程序设置体验版的痛点
我们可以使用 miniprogram-ci 配合 Jenkins 实现自动化部署,提交完成代码就可以自动部署了。以下是一个 github 的 actions 示例。当然也可以使用别的方式,例如本地提交,Jenkins提交等。on:push:branches: ['feature_*'] # 使用通配符匹配所有feature分支jobs:steps:with:run: |env:run: |then-r 7 \elsefi。
2024-09-10 16:59:17
1356
1
原创 使用 macos 制作启动盘给主机安装 Windows 系统
根据自己需要的系统版本下载对应的镜像文件即可,下载完成之后双击文件将镜像文件挂载到你的电脑,这个时候打开访达应该可以看到多了一个卷。我的镜像名称是 /Volumes/CCCOMA_X64FRE_ZH-CN_DV9,如果你的名称不是这个,请在后续的命令中替换成你的。没错就这么简单,一个命令行搞定,这个工具是一个微软大神给朋友写的脚本,后来在GitHub上火了。已经有人写好了, 我就不在重复写了,
2024-09-07 10:53:06
1688
原创 利用 git hooks 实现一个 github workflow 文件的快速生成
Git hooks 是强大的脚本,它们在 Git 仓库中特定事件发生时自动触发。通过巧妙地使用这些钩子,你可以大大提高工作效率,确保代码质量,并自动化许多重复性任务。让我们深入探讨一下你可以用 Git hooks 做些什么。
2024-08-28 13:05:02
351
原创 原生微信小程序中使用 Picker view 设置默认值不生效
但是不管怎么样都是不生效。后来就推测是因为选项数据在 attached 里面初始化完成的,所以设置的不生效。一下默认值就解决了;为什么能够更新呢,我推测是因为 duration 是响应式数据,设置之后会驱动页面更新,自然就会默认选中到对的设置项。我的代码中是在 attached 生成的选项数据,刚开始是在 data 里面直接设了默认选中值,今天在微信小程序中使用 Picker view 这个组件,遇到一个设置默认值选中不生效的问题。按照微信的官网文档,如果需要设置默认选中项可以这样设置。
2024-08-02 13:46:10
773
原创 unocss 如何使用 vue-scoped
文档地址:https://unocss.dev/integrations/vite#vue-scoped。
2024-07-30 15:04:17
502
原创 vscode 根据不同语言项目自定义配置项(插件版本)
我们可以添加多个配置文件来解决根据项目来加载不同插件,我们可以根据自己需要来选择不同的配置项。如过电脑内存够强我感觉也不需要配置这些东西。先把当前的配置导出来一份然后再导入进去选择你刚才的文件然后就会看到这个页面,选择你需要的插件就好,选择完成之后点击下面的创建按钮就完成了。创建完成之后就可以根据需要切换你想要用的配置项了祝各位工作顺利,生活幸福。
2024-07-28 11:48:00
541
原创 浏览器的最大并发数(http1.1)
每个资源请求通常需要单独的TCP连接,尽管支持Keep-Alive机制,允许在同一个TCP连接上连续发送多个请求。但通常浏览器限制并发TCP连接数(例如,每个域名最多6个并发连接)。:引入了多路复用机制,在一个TCP连接上可以并发发送多个请求和响应,这显著提高了传输效率。因此,在HTTP/2中,一个域名通常只需要一个TCP连接即可并发处理多个请求。
2024-07-24 11:55:34
1316
原创 go语言的命名规则
自认为收益是去做一件事情不可缺少的因素,就好像是你努力之后的到收货,努力的欲望会越来越强。《Head First Go》这本书里作者有一句话,如果你已经掌握了一门编程语言,你可能会逃避学习一门新的语言。在这里为什么 PrintLn 可以在 main 包里使用,因为它的首字母是大写的。如果变量、函数或者类型的名称以大写字母开发,则认为它是导出的,可以从当前包之外的包访问它。如果你是一名前端开发你可以理解为go的首字母大写就是js里面的 export。名称必须以字母开头,并且可以有任意数量的额外的字母和数字。
2024-07-21 19:15:40
291
原创 yarn 错误There appears to be trouble with your network connection. Retrying
把你的 vpn,你的代理关了!
2024-05-28 23:03:32
359
原创 在uniapp里面使用 mp-html 并且开启 latex 功能
功能是由 https://github.com/rojer95/katex-mini 提供的技术实现, 但是这个仓库是专门为小程序写得功能,也就是说。代码对于 vite 构建的 uniapp 不太友好, 我这里自己把 katex-mini 改了一版, 修改为由 vite 打包。里面开启 latex 渲染功能。代码拉取到本地,修改代码然后自行打包,这里说一下如何修改代码(其实很简单)。是不会开启 latex 功能的, 如果需要开启 latex 功能是需要到代码操作拉取代码自行打包的。
2024-05-06 17:19:36
1125
原创 微信小程序播放编码为 video/mp4;codecs=vp8 opus 的视频没有声音
的视频,音频编码因为是 opus 是无法在小程序正常播放的,这样就导致了视频没有声音。后来就在服务端做了一层转换,将音频的 opus 转为了 AAC 编码,这样在小程序端就可以正常播放了。转换是通过 FFmpeg 转换的,但是转换的时候因为视频编码为 vp8,转换为 AAL 就造成转换时间很长,所以需要设置为 video/mp4;如果你打印出来的blob数据不是这个编码格式也不用担心,将保存的视频文件放在工具里面查看就好。最近在做浏览器录屏功能,主要是录屏加上麦克风生成mp4视频,最终生成的是编码为。
2024-04-28 22:04:30
1613
1
原创 pnpm 使用 workspace 报错 ERR_INVALID_THIS
原因就是 pnpm 的 bug!把你的pnpm升级到。有时候真的感觉如果有一个老师指路,那么走的坑真的会少很多。
2024-04-15 22:00:02
1344
1
原创 Jenkins 使用 Description Setter
description: 意思是展示, 差不多可以理解为自定义展示, 比如你可以填写这是我的镜像名${变量名}。这个我没有用,因为需要一些配置,不想弄。: 意思就是正则表达式, 这个正则表达式会扫描控制台的每一条日志输出, 如果命中就会使用捕获组的第一条来展示。imgTag=teacher:dev-1.0.0 通过图中的正则来处理之后就是 teacher:1.0.0。在打包完成之后直接在构件历史的部分展示出来构建的docker镜像名,这样就不需要去找日志了。, 如何安装就不在此赘述了。
2024-04-03 12:42:11
893
原创 周五的胡思乱想
这样就导致这里的文章都是点到为止,没有去深究问题的根本原因,大家也都是复制一下解决方案就关闭的页面。我想每个人都有自己的答案。大部分人选择技术可能只是为了那不错的薪资,我自认为还是对技术有所喜爱的,我不敢说我热爱技术,但是我感觉技术可能会陪我度过人生不少光阴。我庆幸我选择了技术,因为这个选择我不用过多的掺和人情事故那些东西,也是因为技术让我一个专科毕业的学生成为了这个时代的黄金打工仔。我们不愿意做我们父辈做的一些事情:认认真真开点做生意、认认真真打工赚钱,不愿意做需要体力的工作,抱怨偶尔的加班,抱怨。
2024-01-19 17:17:23
474
原创 如何在 Element Plus 中使用自定义 icon 组件 (非组件库内置icon)
先说原理就是将svg文件以vue组件文件的方式使用需求:我想要在 Element Plus 得评分组件中使用自定义得图标。组件本身是支持自定义图标的,但是教程中只说明了如何使用图标库内置图标。如何使用自己的图标呢。先看下el-rate如何使用内置的自定义图标,
2024-01-18 12:00:36
5828
2
原创 git 使用 submodule 如何指定分支
写在前面, 作为一个前端我是不喜欢使用 submodule的, 我更喜欢 npm 包的管理方式。
2024-01-10 16:42:30
3924
2
原创 uniapp 开发小程序的时候使用自定义 tabbar 时出现切换页面闪烁的情况
问题:在使用自定义组件的时候可以看到页面切换明显的闪烁, 这种体验是很不好的, 当然最好的方式就是使用原生导航栏, 不要搞花里胡哨的东西。来看下体验不好的效果。
2024-01-10 11:21:49
3770
14
原创 如何给 unplugin-vue-components/vite 写一个简单的 resolver
大部分工作 unplugin-vue-components 都已经处理好了, 我们只需要接收组件名来判断是否是自己的组件, 然后处理对应的导入逻辑。
2024-01-08 18:30:51
1224
原创 关于 jsconfig.json 文件在导入文件路径提示方面
前文:以前我弄不清 jsconfig.json 文件的作用是什么,只觉得 tsconfig.json 文件是用来 ts 编译的配置项,js 又不用编译为什么会需要 jsconfig.json 文件。搬了这么久的砖,也算是有所心得,今日记下以备不时之需。文件是用于配置 JavaScript 项目的 Visual Studio Code 设置的文件。它类似于 TypeScript 项目中的文件,但是用于纯 JavaScript 项目。以下是关于文件的一些说明,重点放在文件导入提示和与。
2023-12-21 12:56:36
868
原创 记录一下npm包的关键字段, 以及在本地如何方便调试 npm 包
注意:尽管 module 字段在构建工具中被广泛支持,但它并不是所有 JavaScript 环境都遵循的规范。在 Node.js 中,通常使用 main 字段指定 CommonJS 模块的入口,而在现代浏览器环境中,使用 type=“module” 的 script 标签加载模块时会优先考虑 module 字段。
2023-11-30 13:54:14
979
原创 使用 css 实现文字单行居右, 换行居左展示
原理是,如果子盒子没有换行,那么子盒子的长度就是内容的长度,它根本没有空间将字体移动居左,父盒子的居左样式就会生效,子盒子就会居左展示。当子盒子里面的文字换行了,那么子盒子的长度也被撑大了,这时候子盒子的居左就会生效了, 因为第一行是满的所以就算居左也和居右没有什么两样。给外层盒子设置居右展示, 子盒子设置居左。
2023-11-23 16:04:55
863
原创 在 uniapp 里面使用 unocss
为什么要这样配置呢, 我们想一下, 在小程序里面使用的单位是 rpx, 在 h5 里面使用的是 rem, 为什么我们在使用 uniapp 的时候可以直接写 rpx, 因为 uniapp 的插件在内部处理了, 在编译小程序或者 h5 的时候是做了对应的处理的.这个时候我们就要想一下为什么添加了指令之后 rpx 就无法被转换了为 rem 了呢, 因为 unocss 里面的 transformers 执行顺序是后置与 uniapp 插件的, 所以指令生成的 rpx 是无法被 uniapp 插件处理到的。
2023-11-06 09:56:23
4772
3
原创 在 Typescript 项目中使用 cdn 加载的js插件没有类型声明
不,还有最重要的一步在你的 tsconfig.json 文件里面加上对应的代码, 让 ts 去读取你安装的包, 为什么要导入, 因为你的代码里面没有任何一个地方导入了这个包。正是因为它的加载模式所以我要手动的给这个 MathJax 添加类型生成, 此时我第一个想到的是找到MathJax 插件提供的 npm type 包, 那么该如何搜索这个文件呢。我点击链接来到了一个页面,内容和我的期望完全相反, md 为什么不是一个搜索, 为什么让我去npm官网自己看。画面一转我们来到了真正的西天,寻找到了真经。
2023-11-01 13:57:13
329
原创 使用 @antfu/eslint-config 配置 eslint (包含兼容uniapp方法)
【代码】在 uniapp 里面使用 @antfu/eslint-config。
2023-10-27 16:57:15
4451
原创 如何在 uniapp 里面使用 pinia 数据持久化 (pinia-plugin-persistedstate)
我们只需要使用 createPersistedState 重新创建一个实例, 把里面的 storage 的参数修改为对应的 uniapp 里面的 storage api 就可以. 已经提取在 customStorage 函数里面了., 我们只需要替换掉。
2023-10-27 11:03:23
2752
5
原创 关于使用 vxe-table 时设置了 show-overflow tooltip 不展示的问题(Dialog 组件和 table 同时使用)
众所周知,vxe-table 是可以支撑万级数据渲染的表格组件,本质上还是用了虚拟滚动的实现。之前一直知道vxe-table, 但是基本没有机会用的上这个组件,最近在开发埋点数据的统计,后端一次性返回了上千条数据,elementui 的 table 组件就明显有点卡顿,因为每一行都有很多列。当后端说如果卡顿就限制下返回数据量的时候,。vxe-table 就这样来到我的项目,下面是截图,看得出字段还是不少的。
2023-10-21 10:27:20
4711
2
原创 使用 puppeteer 加载 html 文件来运行 js 文件
遇到一个需求, 在浏览器环境下来运行 js sdk 文件, 这个 js 文件是不能运行在 nodejs 环境下的;所以通过 puppeteer 无头浏览器来运行代码获取对应的结果。首先是安装插件 puppeteer,然后创建一个项目, 我这里是express;这里是加载本地html文件, 在html文件里面导入你的js文件。这个函数来获取你testjs文件里面的函数了;
2023-10-10 09:48:15
1206
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人