- 博客(320)
- 收藏
- 关注
原创 防抖函数 debounce promise版本debouncePromise
如果用普通的 debounce 去防抖 promise 类型的异步函数,是获取不到返回值的。此时需要使用 Promise 版的防抖函数。
2024-08-30 23:04:40
452
原创 typescript实现一个简单的区块链
上面的代码定义了一个名为 Block 的类,并为其添加了五个属性,分别是 index,timestamp,data,previousHash 和 hash。其中,index 表示区块在区块链中的位置,timestamp 表示区块生成的时间戳,data 表示区块中存储的数据,previousHash 表示前一个区块的哈希值,hash 表示当前区块的哈希值。上面的代码中,我们首先获取最新的区块,然后将其哈希值赋值给新的区块对象的 previousHash 属性。最后,将新的区块对象添加到 chain 数组中。
2023-10-19 16:18:42
519
1
原创 封装localStorage,支持切换存储引擎 sessionStorage,支持vue hook方式调用
【代码】封装localStorage,支持切换存储引擎 sessionStorage,支持vue hook方式调用。
2023-10-08 17:26:28
418
原创 基于el-tooltip组件封装超出显示省略号,鼠标hover显示tooltip的组件
基于el-tooltip组件,实现一个超出行才显示hover tip的组件。
2023-09-15 14:47:11
312
转载 在github上快速找到自己评论过或者发布过的问题
通过在GitHub搜索中放入is:issue involves:my-username(此处是你的github名)来实现此目的。我在github某个项目想的某个问题下发布了提问,后来我解决了这个问题,然后我想快速找到这个问题,并把我的解决办法放到上面,在github上快速找到自己评论过或者发布过的问题。此时会找到你参与的所有问题。
2023-09-01 11:31:30
2637
原创 vue3渲染函数h的简单使用——定义局部组件
h函数返回的是 Vnodes,无法直接在template使用,需要用一个组件render接收。使用看demo。
2023-08-31 10:17:00
1261
原创 CSS transform:rotate;无效问题
一度任务样式被覆盖了,样式不生效没选中元素的class。但是设置hover改变大小是生效的。今天遇到一个奇怪的问题,CSS给 icon图标设置一个hover 旋转180deg的效果,不生效。
2023-08-09 11:39:54
1587
原创 JS中判断是否是用new调用函数
有时候我们在开发组件或者插件的过程中,会需要去判断一个函数是否是是用new关键字来调用,如果是则做一些业务处理,否则抛出异常。那么在JS中我们该怎么去判断呢🤔?
2023-08-03 10:20:10
813
原创 自用vscode neovim插件配置文件 init.vim
系统文件生效的配置文件存放不同,window系统的配置目录 在。和在 vscode 中使用 neovim 使用不同的配置文件。这样配置是为了区分 terminal 中使用 neovim。注意 window系统生效的配置文件。
2023-07-06 09:42:14
2206
原创 vscode 快速修复(quick fix) 快捷键(Ctrl + .)被占用问题解决方法
vscode 快速修复(quick fix) 快捷键(Ctrl + .)被占用。,与 vscode 快速修复(quick fix)快捷键冲突。切换到微软拼音,在输入法。取消中/英文标点切换。再点设置 - 按键。
2023-06-28 20:08:34
4795
原创 vue项目国际化方案vue-i18n,i18n-all使用
这个库也是比较多管理后台使用的国际化方案。用它就对了,详情看下官网。配置文件,需要自定义语言文件目录的项目,需要配置相关参数,才能生效。vscode 插件,使用 i18n-ally ,可以多语言开发。注意:需要配置 vue-i18n 工具使用预览才生效。vue国际化一般使用。
2023-06-26 18:54:41
984
原创 wezterm 自用配置,修改默认打开终端
wezterm 是一款比较好用的跨平台终端软件。windows自带的cmd和powershell,实在太丑了,不喜欢使用。改用这款挺好用的。wezter + bash(git for windows)
2023-06-06 19:18:48
3714
原创 初识虚拟DOM渲染器
首先简单说一下什么是虚拟DOM,虚拟DOM就是一个描述真实DOM的JS对象。渲染器就是把虚拟DOM渲染成真实DOM的功能代码。
2023-03-06 19:39:35
535
原创 小程序瀑布流实现
瀑布流布局,一般等宽,不等高的列表排列原理是找出高度之和最小的那一列,在高度最小列继续添加元素可以通过absolute定位实现,动态计算每一项的top和left。
2022-11-30 11:42:08
1726
1
原创 js栈数据结构的实现与简单实现任意进制转换
栈(Stack)是一种遵循后进先出的原则(LIFO)的有序集合。新保存的或待删除的元素保存在栈的同一端,称作栈顶,另一端叫栈底。操作栈数据都是在栈顶操作。中学数学学过,十进制转二进制,利用的是除余法。得到的余数,逆序串起来就是二进制的转换结果。在十进制转二进制的基础上扩展,允许自定义除数。在js中,可以用数组的。
2022-11-06 17:26:25
202
原创 Charles 抓包工具实用教程
遇到过很多调试场景不是在本地环境,比如移动端线上环境、一些第三方客户端环境,调试问题往往比较困难。这种情况可是实用抓包工具抓包调试,查看请求数据,对调试十分有帮助。此文介绍如何使用Charles抓包工具。本人使用过 Fiddler 抓包,再使用 Charles 抓包工具,发现 Charles 工具更好用,而且比 Fiddler 更稳定。
2022-10-18 13:45:27
1102
原创 vue2旧项目迁移到vite开发,提升编译效率
旧项目太庞大,每次开发都很费时间,保存预览一次需要3-4s的时间。已经升级用 webpack4的情况下,项目最早是 webpack3,编译一次,7-10s的时间,大大影响效率。想着再用vite升级一下开发效率。
2022-09-20 19:27:27
1692
原创 小程序工程化实战 + webpack
基于webpack5,支持es6、Promise、async/await、scss、less,支持云开发,实现工程化打包小程序项目的脚手架,可直接应用到生产环境。
2022-07-12 10:20:18
663
1
原创 记一次webpack3升级到webpack4的实践过程
但是随着时间的推移,这种优化产生的效果越来越弱化,手上的项目体积越来越大,对本地开发热更新速度和生产打包发布速度都有了很大的影响。webpack3升级到webpack4迫在眉睫,这篇博文将记录一些我在升级过程中遇到的坑。......
2022-07-07 20:40:53
1102
原创 小程序jsencrypt不兼容处理一步步“调教”jsencrypt过程,调到服为止
什么是RSA加密,详情可以百度。简单来说 RSA加密算法是一种非对称加密算法。是一种通过公钥加密,私钥解密的非对称加密方法。一般公钥对外暴露,私钥私密保存,只有正确的私钥可以解密出正确的内容。jsencrypt 是一个基于rsa加解密的js库。jsencrypt是不兼容小程序的,因为小程序没有window对象。如果需要在小程序中使用需要修改源码,进行适配小程序。本文不仅介绍如何适配,还介绍如何一步步调式适配的过程。......
2022-07-06 11:15:20
1583
原创 nodejs利用nodemail库,发邮件
由于工作需要,经常需要发邮件,每次频繁发送的邮件大部分内容都是相同的,觉得每次打开邮箱编辑写信比较烦。本着 DRY 的原则,为什么不学一下 自动发邮件的nodejs脚本呢?开干。准备nodejsnpm install nodemailer 发送邮件的库npm i pug 使用pug模板,写email模板发送邮件脚本const path = require('path');const fs = require('fs');const nodemailer = require("node.
2022-05-30 11:50:06
951
4
原创 配置 `git hooks` 安装 husky@7 钩子+`lint-staged@12 格式化缓冲区的内容
问题先行git hook husky 不生效问题v4 版本及以上 在 package.json 中配置 husky 字段已经不可用。Why husky has dropped conventional JS config 放弃了传统的js配置。如果您使用Windows,那么husky只会使用系统上全局安装的版本。这里需要在全局安装 husky配置 git hooks 安装 husky @7 钩子+lint-staged @12 格式化缓冲区的内容git 版本 > 2.9.0
2022-05-26 15:55:47
1163
原创 nodejs tar 打包脚本,打包压缩文件文件夹
用nodejs打包压缩文件准备工作:nodejsnpm i tar 安装 tar 包,用于打包压缩,命令类似 linux 下的 tarconst fs = require('fs')const path = require('path')const tar = require('tar')function cleanFile(pathStr) { if (fs.existsSync(pathStr)) { const stat = fs.statSync(pathStr)
2022-05-24 17:21:09
3338
2
原创 jenkins 部署 vue(nodejs)打包项目
jenkins 部署 vue(nodejs)打包项目准备:jenkinsjenkins 插件 Git Parameter Plugin 参数化构建过程jenkins 插件 ssh Publisher 远程部署全局配置好 ssh 远程服务器,测试联通「可选」全局配置,git 仓库,或者 项目配置 git 仓库,建议使用 token 访问仓库配置 pipeline 项目def url = "https://oauth2:Lxxxxxxxxxxxxxx@gitlab.xxxx.com/goo
2022-05-23 14:25:09
1029
原创 小程序全局配置分享好友/朋友圈,可带参数
小程序全局分享配置App({ onLaunch: function(options) { this.onShareAppMessage() }, onShareAppMessage() { // 监听路由变化 wx.onAppRoute((res) => { const page = getCurrentPage() if (page) { // 这里和下面 onShareAppMessage,
2022-05-12 14:53:07
1618
原创 用node写一个压缩文件的脚本
文章目录用node写一个压缩文件(zip格式)的脚本注意推荐 tar用node写一个压缩文件(zip格式)的脚本缘起日常的发包没有运维自动化,本着不要 DRY 的原则,重复的流程应该写成自动化或半自动化的方式。安装依赖 npm i --global archiver实现逻辑思路:从路径读取文件(或目录),交给 archiver 处理压缩,输出结果const fs = require('fs')const path = require('path')const archiver = re
2022-03-01 10:44:19
589
原创 JavaScript 断点调试技巧
Contents1 为什么要使用 debugger2 Chrome debugger 基本用法3 VS Code 调试 SPA 应用4 Chrome 调试 Nodejs5 使用 VS Code 调试 Nodejs6 Conditional Breakpoint 条件断点7 总结JavaScript 断点调试技巧我认为 【Conditional Breakpoint 条件断点】非常有用,在调试循环体的时候。学到了之前没学过的debugger技巧。...
2022-01-21 09:04:41
753
原创 原生js实现瀑布流效果
原生js实现瀑布流效果效果图:代码:<!-- 样式部分 --><style> * { margin: 0; padding: 0; } #box { position: relative; height: 1000px; } img { display: block; width: 220px; background-color: #ccc; } .item { box-sh
2022-01-11 11:47:01
209
原创 一款更快的 git clone GitHub 源码 cli 工具
文章目录说明一款更快的 git clone GitHub 源码 cli 工具安装使用说明一款更快的 git clone GitHub 源码 cli 工具原理是使用了国内的镜像代理,每次使用git前要修改镜像地址觉得麻烦,就封装到cli工具中,方便使用安装npm i -g fast-git-cloneoryarn add -global fast-git-clone使用fast-git-clone 的使用和 正常的 git clone 子命令一样正常使用fast-git-clone c
2022-01-08 17:52:47
540
原创 写一个nodejs脚本上传打包dist目录
Introductionnodejs 脚本实现上传前端打包目录 dist。用到 ssh2-sftp-client 这个包实现上传功能。在项目根目录运行 upload-dist 把打包后的 dist 目录上传到服务器服务器上的 dist 目录内容会被清空后,再上传Installationnpm install -D @hotsuitor/upload-dist# oryarn add -D @hotsuitor/upload-distExample在项目根目录下新建 .env.loca
2022-01-08 17:49:06
1238
原创 nodejs 实现上传文件
如果我看得比别人更远,那是因为我站在巨人的肩膀上——艾萨克·牛顿没有使用原生 nodejs 实现上传文件,调用了现成的 ssh2-sftp-client 库,实现 sftp 链接,并进行文件操作。Introductionnodejs 脚本实现上传前端打包目录 dist。用到 ssh2-sftp-client 这个包实现上传功能。在项目根目录运行 upload-dist 把打包后的 dist 目录上传到服务器服务器上的 dist 目录内容会被清空后,再上传Installationn.
2021-12-23 10:17:16
1292
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人