自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 vue $nextTick简单实现

nextTick 是 Vue.js 中的一个方法,用于在下次 DOM 更新循环结束之后执行延迟回调。其原理是在当前 DOM 更新循环结束之后,将回调函数推入微任务队列中,等待下一个微任务执行时调用。这样可以确保在 DOM 更新完成后执行回调,以便获取更新后的 DOM 状态。

2024-04-09 16:50:09 187

原创 on-my-zsh 命令自动补全插件 zsh-autosuggestions 安装和配置

4.查看效果,我们在输入git命令时,就能实现命令自动补全的功能了。

2024-03-29 18:40:38 892

原创 企业微信如何接入第三方应用?

3. 此时可以看到已经创建好的应用,并且生成应用的唯一id(agentId)4. 第三方应用申请域名 (举例:https://baidu.com)5.企业微信打开该应用,就可以打开对应的地址;

2024-03-14 20:05:11 747

原创 一起offsetLeft值引发的样式错乱问题

问题描述:问题描述:首先我们来看一下正常样式和异常样式,正常样式的左侧菜单会正常显示出来,而异常样式的左侧菜单会被覆盖;

2024-01-04 20:06:43 419

原创 npm run start启动时提示 A decorated export must export a class declaration报错

上面是一个react hoc高阶组件,es6装饰器的语法是要包裹class组件的,所以要改成以下这种写法就ok了;

2024-01-04 19:24:06 626

原创 Vscode编辑器保存时一直提示正在保存“index.vue”: 正在从“‘Vetur‘, ‘ESLint‘”获取代码操作

因为Vscode同时开启了editor.formatOnSave 和 editor.codeActionsOnSave, 如果只要eslint只需开启editor.codeActionsOnSave就可以了。这样就不会去走Vetur的情况。正在保存“index.vue”: 正在从“'Vetur', 'ESLint'”获取代码操作;

2023-11-14 15:40:08 1756

原创 vim 中批量添加注释

进入块选择模式,然后移动光标选中你要注释的行,再按大写的。会自动将你选中的所有行首都加上注释,保存退出完成注释。进入块选择模式,选中你要删除的行首的注释符号,注意。进入行首插入模式输入注释符号如。要选中两个,选好之后按。,输入完毕之后,按两下。

2023-11-09 17:08:53 643

原创 nginx -s reload, 提示 [emerg] duplicate location “/“

执行nginx -s reload, 提示 `duplicate location /`

2023-11-09 11:01:21 679

原创 antd Table单元格文字超长处理

我们在开发React + antd 项目过程中,经常会遇到表格单元格文字超长此类问题,超长的文字会影响表格布局,那么我们该如何解决呢?话不多说,先直接看一下效果。

2023-09-18 20:57:06 479

原创 Mac终端命令总结

查看本机的显示系统中所有网卡的信息。重做,也就是撤销的逆向操作。打印当前工作目录的路径。查看本机网卡的IP地址。返回上一个访问的目录。

2023-09-12 16:57:53 1262

原创 企业微信电脑端开启chrome调试

然后我们点击 『浏览器、webView相关』菜单,勾选上 『工作台使用cef浏览器』子菜单,此时我们就可以chrome的开发者工具进行调试了。以实际的H5项目举例,鼠标右键,通过『打开调试』 按钮就可以唤起chrome开发者工具进行调试了;Mac端调试开启的快捷键:control + shift + command + d。Window端调试开启的快捷键: control + shift + alt + d。

2023-08-18 08:04:55 1701

原创 git push --force 后如何恢复上次提交

在我们日常的开发中,往往会出现这样的情况,一次commit提交是错误的,需要进行撤回;但是当改动内容过多,直接改代码比较麻烦,那么有些人可能就有一些取巧的办法,使用。但是当多人开发时,很可能将merge的代码或者其他人提交的代码也一并撤回了,这里问题就大了;撤回代码,并且可以撤销提交记录,看起来非常完美;这个命令一定要慎用,可能会导致一些代码丢失;那么遇到上述这种情况,我们应该怎么解决呢?来显示所有历史操作记录;

2023-04-09 14:31:27 2028 1

原创 记录一次由nginx配置引发出来的一系列的缓存问题

如果每次打开是上一次的缓存,那可能就是index.html的根文件被缓存住了,因为index.html里面会加载所有css、js文件,当时打开network看了下,响应头里面并没有Cache-Control: no-store, no-cache的字段,那问题的原因肯定是出在这儿了,上线的相关的部署配置是放在nginx上的;因为公司走的都是统一的容器化部署,当时nginx的部署也可以定制化的;经过一番摸索,问题其实是出在下面这个配置上了,因为项目代码存放的文件夹是freight。最终问题得到解决了!

2023-04-01 13:59:59 937

原创 记一次前端cookie冲突,导致同一个浏览器其他系统被踢下线问题分享

虽然最终解决了问题,但是我觉得后端在cookie的设置上还是不够谨慎,一些重要cookie key信息不设置httponly, 及其容易发生cookie劫持攻击,因为cookie完全是后端设置的,所以也更应该设置成httponly,防止前端修改导致出现的一系列的问题了。最后如有不足之处,还望在留言区进行补充说明!

2023-03-25 16:29:33 774

原创 什么是前端构建工具?

构建工具是可以帮助开发者管理本地源文件,优化开发流程,降低开发复杂度,使开发者更加专注在业务逻辑开发上的一种工具。

2023-03-12 09:03:44 100

原创 React 中如何在非组件的函数中使用history的hooks函数

最近遇到一个问题,针对登陆的token失效时,需要跳转到首页刷新页面。肯定是要跳转到登陆页面让用户重新登陆的,但是React中和Vue不同,跳转依赖于router的hooks函数useHistory.但是在组件中才可以使用history,push()进行跳转,在函数中直接是使用不了的。于是看到这样的解决办法// 针对如何在非组件的函数中使用history的hooks函数。

2023-03-12 08:46:18 227

翻译 n– 交互式管理您的 Node.js 版本

删除已安装的 Node.js(不影响缓存版本)。这对于恢复到 node 的系统版本(如果在不同的位置),或者如果你不再希望使用 node 和 npm,或者正在切换到管理它们的不同方式很有用。Node.js 版本管理:没有子 shell,没有配置文件设置,没有复杂的 API。如果您已经安装了 Node.js,一种简单的安装方法。即可下载并安装一个 Node.js 版本。自行执行以查看您下载的版本,并安装所选版本。安装 Node.js 版本。

2023-01-10 15:51:15 166

原创 node debugger技巧

端口,然后打开控制台的node图标就能进入node debugger模式了( 如下图所示 )运行 nodejs 代码的时候,如果带上了。接着我们通过浏览器访问。

2022-12-17 14:27:14 287

原创 一段eslint jsx-a11y/anchor-is-valid警告背后的原因

我们在做React项目时,经常用到a标签做一些跳转动作,但是每次eslint都要提示 jsx-a11y/anchor-is-valid这段代码,我们可以通过/* eslint-disable jsx-a11y/anchor-is-valid */把这个规则屏蔽掉,但是显然不够优化,那到底是什么原因导致的呢?接下来我们打开以下这个链接,它详细的讲解了导致该现象的原因,以及我们该如何更好的处理这个问题。eslint-plugin-jsx-a11y/anchor-is-valid.md at 4abc751

2022-12-08 09:13:01 732

原创 记一次移动端封装自定义时间选择控件

近期在做一个移动端项目,遇到一个自定义选择时间控件的需求;具体要实现的交互逻辑如下:1. 预约下单的时候必须大于当前系统时间30分后,选择时间按照24小时制,分钟按照每隔15分钟进行显示(例如:15、30、45、00);2. 如当前时间为14点30分,此时预约时间只能大于15点之后的时间用车(包含15点整);3. 如当前系统时间为14点31分,此时预约时间只能大于15点整之后的时候用车(不包含15点整);

2022-12-02 19:55:45 676

原创 React.memo总结

当父组件某些state值更新时,子组件其实没有必要渲染,此时就可以使用React.memo对组件进行缓存,从而提高性能优。如果memo的对比开销大于组件实际的渲染开销,这种情况下使用React.memo往往会起到反作用。子组件渲染很耗时,属性的变更不是很频繁。做缓存的,便于我们做性能优化。

2022-11-22 09:16:11 192

原创 React为什么要使用Hooks以及个人的一些理解

和Hooks组件相比,它组件本身是没有状态的,并且没有任何的副作用;完全受控于父组件,后期如果业务调整,那函数式组件需要改成class组件,非常麻烦并且具有破坏性。本身是有状态的,所以后期业务调整,也是可以在此基础上去修改。React16.8之前, 是有函数式组件(没有hooks)

2022-11-14 11:42:31 781

原创 前端为什么要学习业务的思考

不了解业务,你可能听不懂业务方要什么,甚至连需求的业务逻辑都搞不清,这种情况的合作模式只有一种,需求下来了,你接住,然后给排期。业绩对高级技术人的要求就是技术与业务相结合,在满足业务需求的基础上,成为技术与业务的桥梁,主动走进业务,思考如何通过技术手段帮助业务做赢、满足市场和用户需求,先一步技术规划、人才储备、技术架构和技术预研。前端即使不学习业务,其实也不影响做需求,毕竟你只要告诉我交互是什么样的,前端就可以帮你实现,而且已经有产品经理的角色了,为什么一个做技术的,要狗拿耗子、或者是越俎代庖呢?

2022-11-10 16:29:28 393

原创 Chrome DOM断点之实现源码追溯

DOM断点,相信绝大多数的前端同学是知道这一个知识点的,但很多可能停留在技术的表面;下面我用代码的方式一步一步来讲解如何在实际过程中,使用DOM断点的方式来来实现追溯源码。

2022-11-05 16:51:19 1272

原创 js中?.、??的具体用法

?双问号后面是默认值(可常量、可变量)。在??前面没有值得时候会默认??后边的值(类似于三木运算符中的:后面赋值)。

2022-10-23 14:22:06 14399 1

原创 由window.onerror报错引发的思考

公司内部的埋点监控系统近期发现我负责的系统有以下的js error报错信息出现,且频率非常高,搞的我心里有点慌…(ps: 公司内部规定,js error异常报错三周没有改善者, money会变少){"error":{}}

2022-10-13 09:04:17 2576

原创 Git命令日常总结

要想弄懂 Git 是怎么对我们的代码进行管理的,那首当其冲的是了解 Git 的工作区域是如何构成的。因为,只有彻底弄懂了 Git 工作区域的构成,你才可以在适当的区域使用合适的命令。如下图所示,此图包含了 Git 的4个工作区和一些常见的操作。

2022-09-17 16:15:29 202

原创 正则表达式实现不包含某个特定字符串

最近有个需求,针对pdf以及image之外的格式不能支持预览;如果用js很好的去判断,但是咱们能用这种很low的方法吗?作为一个标准的前端开发,肯定得用正则去实现嘛!

2022-09-07 10:59:02 3385

转载 useMemo与useCallback使用指南

在介绍一下这两个hooks的作用之前,我们先来回顾一下react中的性能优化。在hooks诞生之前,如果组件包含内部state,我们都是基于class的形式来创建组件。当时我们也知道,react中,性能的优化点在于:调用setState,就会触发组件的重新渲染,无论前后的state是否不同父组件更新,子组件也会自动的更新基于上面的两点,我们通常的解决方案是:使用immutable进行比较,在不相等的时候调用setState;

2022-08-19 15:05:05 207

原创 移动端H5输入框调用手机软键盘,导致底部固定定位被顶起问题解决

可以监听window对象的resize事件,判断当前屏幕高度是否小于原始屏幕高度,从而来对底部定位的元素控制其显示、隐藏;这个可以解决大部分手机的固定定位被顶起问题,但是对于部分iphone手机使用某些第三方输入法关闭事件可能监听不到。部分安卓和ihpone手机在调起手机软键盘时,会将固定定位元素顶起;当页面内容过多时,会导致内容被遮挡,无法查看,从而影响用户体验;......

2022-08-18 17:36:20 5880

原创 VsCode生成注释插件koroFileHeader

强烈推荐的一款非常实用的VsCode注释插件koroFileHeader一个读取用户自定义模板,通过快捷键添加文件头部注释、在光标处添加函数注释的VsCode插件。

2022-08-13 14:48:24 834

原创 Error: listen EADDRINUSE: address already in use 0.0.0.0:8080

我们在启动一个前端项目的时候,经常会遇到某个端口被占用,导致无法正常访问页面。1. 我们可以使用以下命令查找当前端口被哪些进程占用了(以mac举例)2. 当执行以上命令后,找到了这些进程(是被nginx占用了)4. 重新启动前端项目,恢复正常。3.使用以下命令杀死这些进程。...

2022-08-11 09:47:33 1408

原创 git push错误: failed to push some refs to

想把本地库提交到远程git库中,就会出现push失败问题(简单来说,就是远程与本地存在不一致的commit情形)。当你在git上对它进行了在线修改,但是没有对本地库进行同步。确保远程代码没问题的情况下,拉取远程代码就行。然后再执行commit提交。...

2022-08-03 18:12:17 1395

原创 Nginx详解

传统的Web服务器,每个客户端连接作为一个单独的进程或线程处理,需在切换任务时将CPU切换到新的任务并创建一个新的运行时上下文,消耗额外的内存和CPU时间,当并发请求增加时,服务器响应变慢,从而对性能产生负面影响。静态资源服务,通过本地文件系统提供服务;反向代理服务,延伸出包括缓存、负载均衡等;API服务,OpenResty;.........

2022-07-27 15:16:40 2054

原创 如何搭建一个http-server本地服务

http-server: 是一个简单的零配置的命令行http服务器:它足够强大便于生产和使用,用于本地测试和开发。有时候我们打开一个文档使用协议打开的时候,不能发送请求,只能使用协议才能请求资源,所以此时我们需要在本地建立一个http服务,通过加端口号,来访问资源。请参考:浅谈FIle协议与Http协议及区别 - 如是说 - 博客园需要先安装Node,后面所有文件夹路径都可以使用http-server进行启动;开启服务通过命令行进行目标文件夹,输入如下命令:http-server, 本地服务

2022-07-14 09:49:38 1514

原创 解决element-ui 表单form回车会刷新整个页面问题

当form表单中input输入框触发键盘回车时,就会刷新页面因为form表单把这个事件当成提交表单的操作在el-form中写一个属性:

2022-07-07 19:42:23 684

原创 for循环下面使用javascript各种场景

for循环下面使用javascript各种场景

2022-07-05 19:31:58 235

原创 iframe全屏覆盖原页面

目前有一个需求是,在原有项目的内部内嵌一个新项目的页面,然后现在遇到的问题是这个页面通过iframe内嵌进来了,但是有两个滚动条导致样式看起来很难看;使用iframe全屏来覆已有的样式,具体代码展示如下:......

2022-06-24 17:45:17 2827

原创 后端ID传到前端时被截断,末尾变成000的解决方法

Javascript最大安全数导致id被截断

2022-06-17 17:31:15 2256

原创 针对内部使用@import引入第三方库的less文件, less.render编译失败问题

antd、less

2022-06-09 09:58:09 2169

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除